一、功能
1. 表示hibernate框架与数据库之间的会话(连接)。
2. 类似于JDBC的connection对象,还可以完成对数据库中数据的增删改查,
3. session是hibernate操作数据库的核心对象。
二、获得session的方式
方式一:打开一个新的session对象
sf.openSession();
方式二:获得一个与线程绑定的session对象
sf.getCurrentSession();
三、session获得操作事务的Transaction对象
方案一:获得操作事务的tx对象
Transaction tx = session.getTransaction();
方案二:开启事务并获得操作事务的tx对象(建议使用)
Transaction tx = session.beginTransaction();
四、session的增删改查
1.session的新增
public void function() {
创建,调用空参构造,读取指定主配置文件
Configuration conf= new Configuration().configure();
根据配置信息,创建SessionFactory对象
SessionFactory sf= conf.buildSessionFactory();
获得session
Session session =sf.openSession();
session获得操作事务的Transaction对象
Transation tx =session.beginTransaction();
//---------业务逻辑------------------------
Customer c = newCustomer();
c.setCust_name(“玛丽莲”);
session.save(c);
//---------------------------------------
tx.commit();
session.close();
sf.close();
}
2. 查询ID为1的customer对象
Customer c = session.get(Customer.class, 1L);
private Long cust_id;
Customer.java
3. 修改ID为1的customer对象的name属性为“梦露”
step1: 获取要修改的对象
Customer c = session.get(Customer.class, 1L);
step2: 修改
c.setCust_name(“梦露”);
step3: 执行update
session.update(c);
4. 删除ID为1的Customer对象
step1: 获得要删除的对象
Customer c = session.get(Customer.class, 1L);
step2: 调用delete删除对象
session.delete(c);