第一个Hibernate小案例
O, Object 对象
R, Realtion 关系 (关系型数据库: MySQL, Oracle…)
M,Mapping 映射
hibernate就是ORM(对象关系映射)的实现
目的:将对象直接传入数据库,无需经过insert等语句,且不用在insert中
getName()等来进行对数据库的操作。
直接获取和存储一个对象。
注意:
O, Object 对象
R, Realtion 关系 (关系型数据库: MySQL, Oracle…)
M,Mapping 映射
hibernate就是ORM(对象关系映射)的实现
目的:将对象直接传入数据库,无需经过insert等语句,且不用在insert中
getName()等来进行对数据库的操作。
直接获取和存储一个对象。
注意:
我们的属性个数要和数据库字段的个数一致,且类型要一致。
步骤一:导入需要的jar包
步骤二:创建实体类对象
package cn.itcast.a_hello;
import java.util.Date;
public class Employee {
private int empId;
private String empName;
private Date workDate;
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public Date getWorkDate() {
return workDate;
}
public void setWorkDate(Date workDate) {
this.workDate = workDate;
}
}
步骤三:配置实体对应的对象映射文件
命名:对应的实体类名.hbm.xml 这里命名为:Employee.hbm.xml
这里的hbm可以省略,但是为方便辨识,我们一般加上hbm
步骤四:建立总的hibernate配置文件hibernate.cfg.xml,进行数据库连接配置 和 加载其他实体的配置文件
步骤五:建立一个测试类App
这里我们使用的是通过@Test注解来进行运行,所以要导入import org.junit.Test;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
public class App {
@Test
public void testHello() throws Exception {
//创建一个对象
Employee employ=new Employee();
employ.setEmpName("班主任2");
employ.setWorkDate(new Date());
//获取加载配置文件的管理类对象
Configuration config=new Configuration();
config.configure(); //默认加载 src/hibernate.cfg.xml文件
//创建session工厂
SessionFactory sf=config.buildSessionFactory();
//打开session(代表一个会话,与数据库连接的会话)
Session session= sf.openSession();
//开启事务
Transaction tx=session.beginTransaction();
//保存数据库
session.save(employ);
//提交事务
tx.commit();
//关闭
session.close();
sf.close();
}
}
运行一下~
这里我是运行了两次,需要注意一下的是在建表的时候要将id设置为自增长,不然会出现插入了第一次id值为0,再运行进行插入的时候就报错了。