当前位置: 代码迷 >> Eclipse >> 施用MyEclipse开发第一个Hibernate程序
  详细解决方案

施用MyEclipse开发第一个Hibernate程序

热度:91   发布时间:2016-04-23 12:10:13.0
使用MyEclipse开发第一个Hibernate程序

本例子使用的是myeclipse5.5+jdk1.5+sql server 2000来实现hibernate。
一、环境:
1.eclipse 3.1.2
2.myeclipse 5.5.1
3.jdk 1.5
二、数据库说明:
?使用的时jdbc连接sql server 2000。首先在sql server2000中新建一个数据库,名字为test,然后在里面新建一个表,名字为person,其内容如下(person.sql):

  1. CREATE?TABLE?person?( ?
  2. id?int?IDENTITY?(1,?1)?NOT?NULL?, ?
  3. name?varchar?(50)?COLLATE?Chinese_PRC_CI_AS?NOT?NULL?, ?
  4. age?int?NULL? ?
  5. )?;?


三、开发步骤:
1.数据库添加:
首先在myeclipse中新建一个java工程,名字为HibernateTest,在工程中新建一个包,命名为li,然后选择在菜单栏window\Open Perspective\Myeclipse Database Explorer,会打开一个DB Browser视图,在此视图空白区点击鼠标右键,选择New,新建一个数据库连接,此时出现Database Driver对话框:
在Driver template中选择所需的数据库类型,我们选择Microsoft SQL Server,在Driver name中给驱动命名,我们可以任意命名,我们命名它为SQL Driver,在Connection URL中会出现:jdbc:microsoft:sqlserver://< server_name>:< 1433>
我们把这个改成:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test
(就是把server_name改成你的本地路径,在端口号 1433之后加个分号,在之后添加DatabaseName=你的测试数据库名即可);在User name中输入数据库用户名,我们输入sa,在Password中输入数据库密码,我们输入sa,在Driver JARS右边点击Add JARs,添加所需要的数据库连接驱动JAR包,我们加入msbase.jar、mssqlserver.jar、msutil.jar三个SQL Server所需要的驱动包即可。单击底下的finish就可以完成数据库的配置。
然后在DB Browser中会出现刚刚我们配置的那个SQL数据库连接,点击右键,选择open connection,此时如果配置没有错而且如果数据库启动着,将会连接成功,在SQL下面会出现相应的数据库表test。
2. 添加Hibernate 容器:
在菜单栏选择window\Open Perspective\Myeclipse Java Persistence后,我们回到了我们建的那个工程视图页面,在工程名HibernateTest上点击鼠标右键,选择"MyEclipse\Add Hibernate Capabilities..."会出现New Hibernate Project视图,我们在Hibernate Specification中选择Hibernate 3;选择下一步,再选择下一步,到Hibernate Support for MyEclipse视图页面,在DB Driver中选择我们刚才建立的数据库连接SQL,在Connect URL中输入:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test
在Username和Password中输入数据库用户名和密码sa,其他保持不变,选择下一步,在Create Hibernate SessionFactory for MyEclipse视图页面中,在Java package中输入建立工程时建立的那个包名li,选择finish即可。
3.添加与数据库相应的类:
在工程中建立一个新类,命名为User,它位于li这个包里面。在User.java中输入:
--------------------------------------------------

  1. package?li; ?
  2. ?
  3. public?class?User?{ ?
  4. private?Integer?id; ?
  5. private?String?name; ?
  6. private?Integer?age; ?
  7. public?Integer?getAge()?{ ?
  8. return?age; ?
  9. } ?
  10. public?void?setAge(Integer?age)?{ ?
  11. this.age?=?age; ?
  12. } ?
  13. public?Integer?getId()?{ ?
  14. return?id; ?
  15. } ?
  16. public?void?setId(Integer?id)?{ ?
  17. this.id?=?id; ?
  18. } ?
  19. public?String?getName()?{ ?
  20. return?name; ?
  21. } ?
  22. public?void?setName(String?name)?{ ?
  23. this.name?=?name; ?
  24. } ?
  25. ?
  26. ?
  27. } ?

--------------------------------------------------
4. 建立Hibernate与数据库表格的映射:

仿照User.java的建立工程,建立一个User.hbm.xml文件,打开输入如下代码:
--------------------------------------------------

  1. <??xml?version="1.0"?encoding='utf-8'?>??? ?
  2. <?!DOCTYPE?hibernate-mapping?PUBLIC?"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"??? ?
  3. ????????"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">??? ?
  4. <?hibernate-mapping>??? ?
  5. ????<?class?name="li.user"?table="person">??? ?
  6. ????<?id?name="id">??? ?
  7. ?????<?generator?class="identity"/>??? ?
  8. ?????<?/id>??? ?
  9. ????????<?property?name="name"/>??? ?
  10. ????????<?property?name="password"/>??? ?
  11. ????????<?property?name="email"/>??? ?
  12. ????<?/class>??? ?
  13. <?/hibernate-mapping>????

--------------------------------------------------

5.在生成的hibernate.cfg.xml中添加User.hbm.xml映射:
鼠标双击hibernate.cfg.xml,出现Hibernate 3 Configuration页面,如果只出现代码没有出现该页面,则可以在这个文件左下角点击configuration切换到就可以了。
在Hibernate 3 Configuration页面中的Mappings的地方选择Add,加入我们刚写的那个User.hbm.xml,然后保存hibernate.cfg.xml即可。
6. 编写测试类
仿照User类的建立工程,在工程中建立一个新类,命名为Test,它位于li这个包里面。在Test.java中输入:
--------------------------------------------------

  1. package?li; ?
  2. ?
  3. import?org.hibernate.Session; ?
  4. import?org.hibernate.SessionFactory; ?
  5. import?org.hibernate.Transaction; ?
  6. import?org.hibernate.cfg.Configuration; ?
  7. ?
  8. public?class?Test?{ ?
  9. /* ?
  10. *?@param?args ?
  11. */?
  12. public?static?void?main(String[]?args)?{ ?
  13. //?TODO?Auto-generated?method?stub ?
  14. Configuration?config=new?Configuration().configure(); ?
  15. SessionFactory?sessionFactory=config.buildSessionFactory(); ?
  16. ?
  17. User?user=new?User(); ?
  18. user.setName("1yjli"); ?
  19. user.setAge(new?Integer(2)); ?
  20. Session?session=sessionFactory.openSession(); ?
  21. Transaction?tx=session.beginTransaction(); ?
  22. session.save(user); ?
  23. tx.commit(); ?
  24. session.close(); ?
  25. sessionFactory.close(); ?
  26. System.out.println("OK!"); ?
  27. ?
  28. } ?
  29. ?
  30. } ?
  31. ?

--------------------------------------------------
7.运行程序:
在Test.java上右键点击学则运行为java应用程序,即可运行程序。如果控制台输出OK字样,则数据库中添加数据成功了。

  相关解决方案