使用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):
- CREATE TABLE person (
- id int IDENTITY (1, 1) NOT NULL ,
- name varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
- age int NULL
- ) ;
三、開發步驟:
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中輸入:
--------------------------------------------------------------------------------------
- package li;
- public class User {
- private Integer id;
- private String name;
- private Integer age;
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
--------------------------------------------------------------------------------------
4. 建立Hibernate與數據庫表格的映射:
仿照User.java的建立工程,建立一個User.hbm.xml文件,打開輸入如下代碼:
--------------------------------------------------------------------------------------
- < ?xml version="1.0" encoding='utf-8'?>
- < !DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
- < hibernate-mapping>
- < class name="li.user" table="person">
- < id name="id">
- < generator class="identity"/>
- < /id>
- < property name="name"/>
- < property name="password"/>
- < property name="email"/>
- < /class>
- < /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中輸入:
--------------------------------------------------------------------------------------
- package li;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.Transaction;
- import org.hibernate.cfg.Configuration;
- public class Test {
- /*
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Configuration config=new Configuration().configure();
- SessionFactory sessionFactory=config.buildSessionFactory();
- User user=new User();
- user.setName("1yjli");
- user.setAge(new Integer(2));
- Session session=sessionFactory.openSession();
- Transaction tx=session.beginTransaction();
- session.save(user);
- tx.commit();
- session.close();
- sessionFactory.close();
- System.out.println("OK!");
- }
- }
--------------------------------------------------------------------------------------
7.運行程序:
在Test.java上右鍵點擊學則運行為java應用程序,即可運行程序。如果控制臺輸出OK字樣,則數據庫中添加數據成功了。
【編輯推薦】