Hibernate-API
|--Configuration 配置管理类对象
config.configure(); //加载主配置文件-hibernate.cfg.xml
config.configure("src/hibernate.cfg.xml"); //根据指定路径加载主配置文件
config.buildSessionFactory(); //创建session的工厂对象
|--SessionFactory 加载配置管理类
sf.openSession(); 创建一个session对象
sf.getCurrentSession(); 创建session或取出session对象
|--Session session 对象维护了一个连接,代表了与数据库连接的会话
session.beginTransaction(); 开启一个事务
hibernate要求所有的与数据库的操作必须有事务的环境,否则报错
session.save(对象的引用);
session.update();
demo
@Test
public void testHello() {
//对象
Employee emp = new Employee();
emp.setEmpId(1);
emp.setEmpName("张三");
emp.setWorkDate(new Date());
Session session = sf.openSession();
//开启事务
Transaction tx = session.beginTransaction();
//保存-数据库
//session.save(emp);
//更新必须要有主键
session.update(emp);
//提交事物
tx.commit();
//关闭
session.close();
sf.close();
}
主键查询
Employee employee = (Employee)session.get(Employee.class,1);
Employee employee = (Employee)session.load(Employee.class,1);//支持懒加载
保存或者更新
没有设置主键,执行保存;有设置主键,执行更新操作(如果设置主键不存在,报错)。
session.saveOrUpdate(emp);
|--Transaction
事务对象