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/

原文地址:https://www.cnblogs.com/xiong233/p/6252793.html