增删改查
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了增删改查相关的知识,希望对你有一定的参考价值。
package com.itheima.test; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.Test; import com.itheima.domain.Customer; import com.itheima.utils.HibernateUtils; /** * 测试Hibernate框架 * @author Administrator */ public class Demo1 { /** * 测试保存 */ @Test public void testSave3(){ Session session = null; Transaction tr = null; try { // 获取session session = HibernateUtils.getSession(); // 开启事务 tr = session.beginTransaction(); // 执行代码 Customer c = new Customer(); c.setCust_name("哈哈"); // 保存 session.save(c); // 提交事务事务 tr.commit(); } catch (Exception e) { // 回滚事务 tr.rollback(); e.printStackTrace(); }finally{ // 释放资源 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(); } /** * 测试添加或者修改 */ @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 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(); } /** * 测试删除的方法 * 注意:删除或者修改,先查询再删除或者修改 */ @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(); } /** * 测试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 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(); } /** * 测试保存客户 */ @Test public void testSave(){ /** * 1. 先加载配置文件 * 2. 创建SessionFactory对象,生成Session对象 * 3. 创建session对象 * 4. 开启事务 * 5. 编写保存的代码 * 6. 提交事务 * 7. 释放资源 */ /*// 1. 先加载配置文件 Configuration config = new Configuration(); // 默认加载src目录下hibernate.cfg.xml的配置文件 config.configure(); // 了解,手动加载 // config.addResource("com/itheima/domain/Customer.hbm.xml"); */ // 简写的方法 Configuration config = new Configuration().configure(); // 2. 创建SessionFactory对象 SessionFactory factory = config.buildSessionFactory(); // 3. 创建session对象 Session session = factory.openSession(); // 4. 开启事务 Transaction tr = session.beginTransaction(); // 5. 编写保存的代码 Customer c = new Customer(); // c.setCust_id(cust_id); 主键是自动递增了 c.setCust_name("测试3"); c.setCust_level("2"); c.setCust_phone("110"); // 保存数据,操作对象就相当于操作数据库的表结构 session.save(c); // 6. 提交事务 tr.commit(); // 7. 释放资源 session.close(); factory.close(); } }
===● ===● ===● ===● ===● ===● ===● ===● ===● ===● ===● ===● ===● ===● ===● ===● ===● ===●
1 package com.itheima.test; 2 3 import org.hibernate.Session; 4 import org.hibernate.Transaction; 5 6 import com.itheima.Utils.HibernateUtils; 7 import com.itheima.domain.Customer; 8 9 public class Upgrade { 10 public void Demo() { 11 Session session = null; 12 Transaction tr = null; 13 try { 14 // 获取session 15 session = HibernateUtils.getSession(); 16 // 开启事务 17 tr = session.beginTransaction(); 18 // 执行代码 19 Customer c = new Customer(); 20 c.setCust_name("小泽玛利亚"); 21 // 提交事务 22 tr.commit(); 23 } catch (Exception e) { 24 // 回滚事务 25 tr.rollback(); 26 e.printStackTrace(); 27 } finally { 28 // 释放资源 29 session.close(); 30 } 31 } 32 33 }
以上是关于增删改查的主要内容,如果未能解决你的问题,请参考以下文章