本篇文章主要介绍了Hibernate中实现增删改查的步骤与方法,具有很好的参考价值,下面跟着小编一起来看下吧
1.首先我们要知道什么是Hibernate
Hibernate是一个轻量级的ORMapping对象。主要用来实现Java和数据库表之间的映射,除此之外还提供数据查询和数据获取的方法,
可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间,解放编程人员95%的任务。
2.什么是ORM Object-Relational-Mapping对象关系映射
ORM:是通过java对象映射到数据库表,通过操作Java对象可以完成对数据表的操作。(假如你用的是Dbutils那么还需要在Java类中写sql语句,而orm就不用)
Hibernate是一个完全的ORM框架只需要对对象的操作即可生成底层的SQL。
接下来直接进入主题:
先看看使用hibernate的基本流程!下面是简单的流程图
1.创建项目:
用myeclipse创建一个web project
2.导入hibernate相关的架包到项目
第三步: 配置hibernate
在src目录下新建一个xml文件,名称为hibernate.cfg.xml(当然,你也可以不叫这个名称,不过在代码中要作相应的修改),拷贝如下内容:
root root jdbc:mysql:///hibernateexec com.mysql.jdbc.Driver org.hibernate.dialect.MySQLDialect update true true true org.hibernate.connection.C3P0ConnectionProvider 5 50 120 3000
这里提醒一点:customer表你可以不用去手动创建,但是数据库hibernateexec是要你手动创建的
第四步.创建实体和映射文件
public class Customer { private int id; private String name; private int age; private String city; private String addr; } /* * 提供set和get方法 */ Customer 实体
映射文件和实体对象在同一个包下:
Customer.hbm.xml
第五步:创建SessionFactory对象
第六步:获取Session对象进行相关操作
第五步和第六步我和在一起,第六步我们发现不论增删改查前面四步都是一样的,我们其实可以提取到一个工具类,再来调用这样加快效率。
import java.util.List; import org.hibernate.Query; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.Test; import com.study.model.Customer; public class HibernateTest { /* * 保存数据 */ @Test public void testInsert() { // 实例化配置对象 加载映射文件 加载 hibernate.cfg.xml Configuration configuration = new Configuration().configure(); // 创建会话工厂 SessionFactory sessionFactory = configuration.buildSessionFactory(); // 创建会话 Session session = sessionFactory.openSession(); // 开启事务 Transaction transaction = session.beginTransaction(); // 编写自己的逻辑代码 Customer customer = new Customer(); customer.setName("小黄"); customer.setAge(40); customer.setCity("北京"); // 直接保存 session.save(customer); // 提交事务 transaction.commit(); session.close(); sessionFactory.close(); } //查询所有的 @Test public void testFindAllByHQL(){ // 实例化配置对象 加载映射文件 加载 hibernate.cfg.xml Configuration configuration = new Configuration().configure(); // 创建会话工厂 SessionFactory sessionFactory = configuration.buildSessionFactory(); // 创建会话 Session session = sessionFactory.openSession(); // 开启事务 Transaction transaction = session.beginTransaction(); //编写HQL语句(面向类和属性的查询 String hql =" from Customer";//这里是Customer不是表名 是类名 查询Customer Query query =session.createQuery(hql); Listcustomers=query.list(); System.out.println(customers); // 提交事务 transaction.commit(); session.close(); sessionFactory.close(); } // 删除 @Test public void testDelete() { // 实例化配置对象 加载映射文件 加载 hibernate.cfg.xml Configuration configuration = new Configuration().configure(); // 创建会话工厂 SessionFactory sessionFactory = configuration.buildSessionFactory(); // 创建会话 Session session = sessionFactory.openSession(); // 开启事务 Transaction transaction = session.beginTransaction(); Customer customer =new Customer(); customer.setId(2); session.delete(customer); // 提交事务 transaction.commit(); session.close(); sessionFactory.close(); } // 修改 @Test public void testUpdate() { // 实例化配置对象 加载映射文件 加载 hibernate.cfg.xml Configuration configuration = new Configuration().configure(); // 创建会话工厂 SessionFactory sessionFactory = configuration.buildSessionFactory(); // 创建会话 Session session = sessionFactory.openSession(); // 开启事务 Transaction transaction = session.beginTransaction(); Customer customer = (Customer) session.get(Customer.class, 2); customer.setCity("杭州"); session.update(customer); // 提交事务 transaction.commit(); session.close(); sessionFactory.close(); } // 查询 根据id查询 @Test public void testFindById() { // 实例化配置对象 加载映射文件 加载 hibernate.cfg.xml Configuration configuration = new Configuration().configure(); // 创建会话工厂 SessionFactory sessionFactory = configuration.buildSessionFactory(); // 创建会话 Session session = sessionFactory.openSession(); // 开启事务 Transaction transaction = session.beginTransaction(); Customer customer = (Customer) session.get(Customer.class, 1); System.out.println(customer); // 提交事务 transaction.commit(); session.close(); sessionFactory.close(); } }
运行效果:当你运行第一个增加用户的时候,运行结束数据库会自动创建customer表格,和往表格里添加数据。
这样就通过hibernate进行基础的增删改查了。
以上就是Hibernate中实现增删改查的步骤详解的详细内容,更多请关注0133技术站其它相关文章!