Hibernate的学习之路七(Session)
2017-11-29 21:08
330 查看
前言
这篇主要是写了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)
- [原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作
- Hibernate的学习之路七(Session)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路十二(session的快照机制)
- Hibernate的学习之路十六(绑定本地session)
- Hibernate的学习之路七(Session)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路十二(session的快照机制)
- Hibernate的学习之路十六(绑定本地session)
- Hibernate的学习之路七(Session)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路十二(session的快照机制)
- Hibernate的学习之路十六(绑定本地session)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路十六(绑定本地session)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路十二(session的快照机制)