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

时间:2023-03-09 05:40:13
hibernate学习三(使用Annotation,注解)

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

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

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

 import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table; //@Entity声明此类是一个实体类
//@Table声明此实体类映射表的名字
@Entity
@Table(name="teacher")
public class Teacher {
private int id;
private String name;
private int age;
private String title; //@Id此属性为主键
//@GeneratedValue此属性自增
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
//此属性对应字段名
@Column(name="name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//不写参数name时,默认为对应同名字段
@Column
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}

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

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

  在里面添加语句

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

四、编写测试类

 public class Main {
public static void main(String[] args) {
//设置要插入的数据
Teacher t = new Teacher();
t.setName("266");
t.setAge(60);
t.setTitle("NB"); //通过util类创建sessionFactory
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
//开启事务
session.beginTransaction();
//将student存入数据库
session.save(t);
session.getTransaction().commit();
//关闭资源
session.close();
sessionFactory.close();
}
}

  结果:

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

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

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