您的位置:首页 > 其它

Hibernate的学习之路七(Session)

2017-11-29 21:08 375 查看

前言

这篇主要是写了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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: