前言
这篇主要是写了session操作数据库的方法,通过不同的方法,操作数据库
编写
添加的方法
/**
* 测试工具类
*/
@Test
public void testSave2(){
// 原来:加载配置文件,获取Factory对象,获取session
Session session = HibernateUtils.getSession();
Transaction tr = session.beginTransaction();
Customer c = new Customer();
c.setCust_name("小风");
session.save(c);
// 提交事务
tr.commit();
// 释放资源
session.close();
}
查询的方法使用get(),只能通过主键
/**
* 测试get()方法,获取查询,通过主键来查询一条记录
*/
@Test
public void testGet(){
// 原来:加载配置文件,获取Factory对象,获取session
Session session = HibernateUtils.getSession();
Transaction tr = session.beginTransaction();
// 测试查询的方法 2个参数:arg0查询JavaBean的class对象 arg1主键的值
Customer c = session.get(Customer.class, 7L);
System.out.println(c);
// 提交事务
tr.commit();
// 释放资源
session.close();
}
删除的方法,先通过主键查,在删除
/**
* 测试删除的方法
* 注意:删除或者修改,先查询再删除或者修改
*/
@Test
public void testDel(){
// 原来:加载配置文件,获取Factory对象,获取session
Session session = HibernateUtils.getSession();
Transaction tr = session.beginTransaction();
// 测试查询的方法 2个参数:arg0查询JavaBean的class对象 arg1主键的值
Customer c = session.get(Customer.class, 7L);
// 删除客户
session.delete(c);
// 提交事务
tr.commit();
// 释放资源
session.close();
}
修改的方法,先通过主键查,在改
/**
* 测试修改
*/
@Test
public void testUpdate(){
// 原来:加载配置文件,获取Factory对象,获取session
Session session = HibernateUtils.getSession();
Transaction tr = session.beginTransaction();
// 测试查询的方法 2个参数:arg0查询JavaBean的class对象 arg1主键的值
Customer c = session.get(Customer.class, 6L);
// 设置客户的信息
c.setCust_name("小苍");
c.setCust_level("3");
// 修改
session.update(c);
// 提交事务
tr.commit();
// 释放资源
session.close();
}
这个是利用saveOrUpdate方法来实现保存和修改的。这个需要后面去研究,可以修改也可以添加。
/**
* 测试添加或者修改
*/
@Test
public void testSaveOrUpdate(){
// 原来:加载配置文件,获取Factory对象,获取session
Session session = HibernateUtils.getSession();
Transaction tr = session.beginTransaction();
/*// 演示错误
Customer c = new Customer();
// c.setCust_id(10L); 千万不能自己设置
c.setCust_name("测试");
// 保存或者修改
session.saveOrUpdate(c);*/
// 先查询再改
Customer c = session.get(Customer.class, 6L);
c.setCust_name("小泽");
session.saveOrUpdate(c);
// 提交事务
tr.commit();
// 释放资源
session.close();
}
查询的方法,这个是查询所有的数据。
/**
* 测试查询的方法
*/
@Test
public void testSel(){
// 原来:加载配置文件,获取Factory对象,获取session
Session session = HibernateUtils.getSession();
Transaction tr = session.beginTransaction();
// 创建查询的接口
Query query = session.createQuery("from Customer");
// 查询所有的数据 select * from 表
List<Customer> list = query.list();
for (Customer customer : list) {
System.out.println(customer);
}
// 提交事务
tr.commit();
// 释放资源
session.close();
}