hibernate学习三(使用Annotation,注解)

一、新建一个工程hibernate_02_HelloWorld_Annotation(复制01工程并重命名);

  ps:后续的学习中,为了简便只是用Annotation,关于相同的XML配置,建议使用时查找;

二、新建一个实体类teacher.java,数据库中新建teacher表;

复制代码
 1 import javax.persistence.Column;
 2 import javax.persistence.Entity;
 3 import javax.persistence.GeneratedValue;
 4 import javax.persistence.Id;
 5 import javax.persistence.Table;
 6 
 7 //@Entity声明此类是一个实体类
 8 //@Table声明此实体类映射表的名字
 9 @Entity
10 @Table(name="teacher")
11 public class Teacher {
12     private int id;
13     private String name;
14     private int age;
15     private String title;
16     
17     //@Id此属性为主键
18     //@GeneratedValue此属性自增
19     @Id
20     @GeneratedValue
21     public int getId() {
22         return id;
23     }
24     public void setId(int id) {
25         this.id = id;
26     }
27     //此属性对应字段名
28     @Column(name="name")
29     public String getName() {
30         return name;
31     }
32     public void setName(String name) {
33         this.name = name;
34     }
35     //不写参数name时,默认为对应同名字段
36     @Column
37     public int getAge() {
38         return age;
39     }
40     public void setAge(int age) {
41         this.age = age;
42     }
43     public String getTitle() {
44         return title;
45     }
46     public void setTitle(String title) {
47         this.title = title;
48     }
49 }
复制代码

ps: 注意 属性名(如:id,name,。。。。) 最好别使用一个小写字母开头接大写字母,不然生成的set/get方法会有差别

三、修改hibernate.cfg.xml,使用Teacher.java上的注解

  在里面添加语句

1         <mapping class="com.model.Teacher"/>

四、编写测试类

复制代码
 1 public class Main {
 2     public static void main(String[] args) {
 3         //设置要插入的数据    
 4         Teacher t = new Teacher();
 5         t.setName("266");
 6         t.setAge(60);
 7         t.setTitle("NB");
 8         
 9         //通过util类创建sessionFactory
10         SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
11         Session session = sessionFactory.openSession();
12         //开启事务
13         session.beginTransaction();
14         //将student存入数据库
15         session.save(t);
16         session.getTransaction().commit();
17         //关闭资源
18         session.close();
19         sessionFactory.close();
20     }
21 }
复制代码

  结果:

  

----------------------------------------------------------------------------------------------------

此文为个人学习记录,如有参考转载,请注明出处 黑白熊的博客 http://www.cnblogs.com/xiong233/

posted @   熊熊熊摸了一下你的头  阅读(162)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示