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