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

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

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

网页题目:操作Hibernate类:增加,删除,修改及查询
浏览地址:http://www.csdahua.cn/qtweb/news26/351726.html

成都网站优化推广公司_创新互联,为您提供网站设计公司微信公众号关键词优化网页设计公司网站设计标签优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网