网站建设资讯

NEWS

网站建设资讯

如何对Hibernate进行增删改查操作

这期内容当中小编将会给大家带来有关如何对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的基本流程!下面是简单的流程图

 如何对Hibernate进行增删改查操作

1.创建项目:

用myeclipse创建一个web project

2.导入hibernate相关的架包到项目

 如何对Hibernate进行增删改查操作

第三步: 配置hibernate

在src目录下新建一个xml文件,名称为hibernate.cfg.xml(当然,你也可以不叫这个名称,不过在代码中要作相应的修改),拷贝如下内容:

<?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
  
  
  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 实体

映射文件和实体对象在同一个包下:

<?xml version="1.0" encoding="UTF-8"?>
 
 
 
 
 
 
  
  
  
  
  
  
  
  
  
   
  
  
  
  
  
  
  
 
 

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);
  List customers=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进行基础的增删改查了。

上述就是小编为大家分享的如何对Hibernate进行增删改查操作了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


网站名称:如何对Hibernate进行增删改查操作
分享URL:http://cdweb.net/article/jegodd.html