操作Hibernate类大致有增加,删除,修改及检查四种,简称为增删改查

操作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();  

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值