现在的位置: 首页 > 综合 > 正文

操作Hibernate类:增加,删除,修改及查询

2018年05月24日 ⁄ 综合 ⁄ 共 2453字 ⁄ 字号 评论关闭

本篇文章讲述操作Hibernate类的实现:增加,删除,修改及查询。具体来说,就是增加,删除,修改,按ID查询,模糊查询,以及查询全部。

AD:

操作Hibernate类大致有增加,删除,修改及检查四种,简称为增删改查。以下为实现代码:

  1. /*  
  2. *具体操作hibernate的类  
  3. *增加,删除,修改,按ID查询,模糊查询,查询全部  
  4. **/ 
  5. public class PersonOperate {  
  6. //在hibernate中所有操作都是由Session完成  
  7. public Session session = null;  
  8.  
  9. //在构造方法中实例化Session对象  
  10. public PersonOperate(){  
  11.     //找出hibernate的配置  
  12.     Configuration config = new Configuration().configure();  
  13.     //从配置中取出SessionFactory  
  14.     SessionFactory sf = config.buildSessionFactory();  
  15.     //从SessionFactory中取出Session  
  16.     this.session = sf.openSession();  
  17. }  
  18.  
  19. //操作Hibernate类的所有操作都是通过Session完成的  
  20.  
  21. //增加数据库中数据  
  22. public void insert(Person person){  
  23.     //开始事务  
  24.     Transaction tran =    session.beginTransaction();  
  25.     //执行语句  
  26.     session.save(person);  
  27.     //提交事务  
  28.     tran.commit();  
  29.     session.close();   
  30. }  
  31.  
  32. //操作Hibernate类更改数据库中的数据  
  33. public void update(Person person){  
  34.     //开始事务  
  35.     Transaction tran =    session.beginTransaction();  
  36.     //执行语句  
  37.     session.update(person);  
  38.     //提交事务  
  39.     tran.commit();   
  40. }  
  41.  
  42. /*操作Hibernate类:按ID查询  
  43.     *我们插入,修改都是对对象进行操作  
  44.     *那么我们查询的时候也应该是返回一个对象  
  45.     **/ 
  46. public Person queryById(String id){  
  47.     System.out.println(id);  
  48.     Person person = null;  
  49.     //hibernate查询语句  
  50.     String hql = "FROM Person as p WHERE p.id = ?";  
  51.     Query q = session.createQuery(hql);  
  52.     q.setString(0, id);  
  53.     List list = q.list();  
  54.     Iterator iteator = list.iterator();  
  55.     if(iteator.hasNext()){  
  56.      person = (Person)iteator.next();  
  57.     }  
  58.     return person;  
  59. }  
  60.  
  61. /*操作Hibernate类:删除数据库中数据  
  62.     *hiberante2,hibernate3中通用的删除方法  
  63.     *缺点:删除数据之前要先查询一次数据,找出删除的数据对象  
  64.     *性能低下  
  65.     **/ 
  66. public void delete(Person person){  
  67.     //开始事务  
  68.     Transaction tran =    session.beginTransaction();  
  69.     //执行语句  
  70.     session.delete(person);  
  71.     //提交事务  
  72.     tran.commit();   
  73. }  
  74.  
  75. //hibernate3的用法  
  76. public void delete(String id){  
  77.     //开始事务  
  78.     Transaction tran =    session.beginTransaction();  
  79.     String hql = "DELETE Person WHERE id = ?";  
  80.  
  81.     Query q = session.createQuery(hql);  
  82.     q.setString(0, id);  
  83.     //执行更新语句  
  84.     q.executeUpdate();  
  85.     //提交事务  
  86.     tran.commit();  
  87. }  
  88.  
  89. //操作Hibernate类:查询全部数据  
  90. public List queryAll(){  
  91.     List list = null;  
  92.     String hql = "FROM Person as p ";  
  93.     Query q = session.createQuery(hql);  
  94.     list = q.list();  
  95.     return list;  
  96. }  
  97.  
  98. //操作Hibernate类:模糊查询  
  99. public List queryByLike(String colnum,String value){  
  100.     List list = null;  
  101.     String hql = "FROM Person as p WHERE p."+ colnum +" like ?";  
  102.     Query q = session.createQuery(hql);  
  103.     q.setString(0, "%"+ value +"%");  
  104.     list = q.list();  

抱歉!评论已关闭.