Hibernate的学习之路七(Session)
2017-11-29 21:08
323 查看
前言
这篇主要是写了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(); }
相关文章推荐
- Hibernate的学习之路十二(session的快照机制)
- Hibernate的学习之路十六(绑定本地session)
- Hibernate的学习之路七(Session)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路十二(session的快照机制)
- Hibernate的学习之路十六(绑定本地session)
- [原创]java WEB学习笔记78:Hibernate学习之路---session概述,session缓存(hibernate 一级缓存),数据库的隔离级别,在 MySql 中设置隔离级别,在 Hibernate 中设置隔离级别
- Hibernate的学习之路七(Session)
- Hibernate 学习之路(二):Hibernate中的Session详解和持久化对象(二)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路十二(session的快照机制)
- Hibernate的学习之路十六(绑定本地session)
- Hibernate的学习之路七(Session)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路十二(session的快照机制)
- Hibernate的学习之路十六(绑定本地session)
- [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))
- Hibernate的学习之路七(Session)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路十六(绑定本地session)