一个简单的hibernate实例(之一)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. <?xml version="1.0" encoding='utf-8'?>
2. <!DOCTYPE hibernate-mapping PUBLIC
3. "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4. "/hibernate-mapping-3.0.dtd">
5.
6. <hibernate-mapping>
7. <class name="er" table="users">
8. <id name="id">
9. <generator class="identity"/>
10. </id>
11. <property name="name"/>
12. <property name="password"/>
13. <property name="email"/>
14. </class>
15. </hibernate-mapping>
在数据库中建立一个myproject(按你的意思定名)数据库,在其中建立一个users表(向RoR学习):
1. CREATE TABLE `users` (
2. `id` int(11) NOT NULL auto_increment,
3. `name` varchar(255) default NULL,
4. `password` varchar(255) default NULL,
5. `email` varchar(255) default NULL,
6. PRIMARY KEY (`id`)
7. )
注:我是用phpmyadmin对mysql数据库进行管理的,在建立的时候我特意为其选择了utf-8编码。

在src的根目录下(以上的user.hbm.xml映射文件与User.java在同一目录下)建立hibernate的配置文件:hibernate.cfg.xml
1. <?xml version="1.0" encoding="utf-8"?>
2.
3. <!DOCTYPE hibernate-configuration PUBLIC
4.
5. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
6.
7. "/hibernate-configuration-3.0.dtd">
8.
9. <hibernate-configuration>
10.
11. <session-factory>
12.
13. <!-- 显示实际操作数据库时的SQL -->
11. public UserBean() throws HibernateException {
12. super();
13. }
14.
15. /**
16. * 增加一个Course
17. */
18. public void addUser(User user) throws HibernateException {
19. beginTransaction();
20. session.save(user);
21. endTransaction(true);
22. }
23.
24. /**
25. * 查询系统中所有的Course,返回的是包含有Course持久对象的Iterator。

26. */
27. public Iterator getAllUsers() throws HibernateException {
28. String queryString = "select users from User as user";
29. beginTransaction();
30. Query query = session.createQuery(queryString);
31. Iterator it = query.iterate();
32. return it;
33. }
34.
35. /**
36. * 删除给定ID的course
37. */
38. public void deleteUser(String id) throws HibernateException {
39. beginTransaction();
40. User user = (User) session.load(User.class, id);
41. session.delete(user);
42. endTransaction(true);
43. }
44.
45. /**
46. * 按course的名字进行模糊查找,返回的是包含有Course持久对象的Iterator。

47. */
48. public Iterator getSomeUser(String name) throws HibernateException {
49. String queryString = "select u from User as u where like :name";
50. beginTransaction();
51. Query query = session.createQuery(queryString);
52. query.setString("name", "%" + name + "%");
53. Iterator it = query.iterate();
54. return it;
55. }
56. }
万事大吉,所欠的事情就是调用UerBean中定义的操作进行我们实际所要针对User所做的事情了。

我们写一个简单的
测试:
Test.java
1. package px.malijun;
2.
3. public class Test {
4.
5. /**
6. * @param args
7. */
8. public static void main(String[] args) {
9. // TODO Auto-generated method stub
10. UserBean ub=new UserBean();
11. User user = new User();
12. user.setName("你好,世界!");
13. user.setPassword("123456");
14. user.setEmail("ok@");
15. ub.addUser(user);
16.
17. }
18.
19. }
哦,好简洁的代码。

这个测试在执行以后,你查看一下数据库中的users表,你就会发现,我们真的add一个user了,其它的
操作,我们就略了。

下一篇幅我们介绍如何在web环境下使用我们以上编写的程序。

相关文档
最新文档