使用MyEclipse開發(fā)第一個(gè)Hibernate程序
本例子使用的是myeclipse5.5+jdk1.5+sql server 2000來實(shí)現(xiàn)hibernate。
一、環(huán)境:
1.eclipse 3.1.2
2.myeclipse 5.5.1
3.jdk 1.5
二、數(shù)據(jù)庫說明:
使用的時(shí)jdbc連接sql server 2000。首先在sql server2000中新建一個(gè)數(shù)據(jù)庫,名字為test,然后在里面新建一個(gè)表,名字為person,其內(nèi)容如下(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
- ) ;
三、開發(fā)步驟:
1.數(shù)據(jù)庫添加:
首先在myeclipse中新建一個(gè)java工程,名字為HibernateTest,在工程中新建一個(gè)包,命名為li,然后選擇在菜單欄window\Open Perspective\Myeclipse Database Explorer,會(huì)打開一個(gè)DB Browser視圖,在此視圖空白區(qū)點(diǎn)擊鼠標(biāo)右鍵,選擇New,新建一個(gè)數(shù)據(jù)庫連接,此時(shí)出現(xiàn)Database Driver對(duì)話框:
在Driver template中選擇所需的數(shù)據(jù)庫類型,我們選擇Microsoft SQL Server,在Driver name中給驅(qū)動(dòng)命名,我們可以任意命名,我們命名它為SQL Driver,在Connection URL中會(huì)出現(xiàn):jdbc:microsoft:sqlserver://< server_name>:< 1433>
我們把這個(gè)改成:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test
(就是把server_name改成你的本地路徑,在端口號(hào) 1433之后加個(gè)分號(hào),在之后添加DatabaseName=你的測(cè)試數(shù)據(jù)庫名即可);在User name中輸入數(shù)據(jù)庫用戶名,我們輸入sa,在Password中輸入數(shù)據(jù)庫密碼,我們輸入sa,在Driver JARS右邊點(diǎn)擊Add JARs,添加所需要的數(shù)據(jù)庫連接驅(qū)動(dòng)JAR包,我們加入msbase.jar、mssqlserver.jar、msutil.jar三個(gè)SQL Server所需要的驅(qū)動(dòng)包即可。單擊底下的finish就可以完成數(shù)據(jù)庫的配置。
然后在DB Browser中會(huì)出現(xiàn)剛剛我們配置的那個(gè)SQL數(shù)據(jù)庫連接,點(diǎn)擊右鍵,選擇open connection,此時(shí)如果配置沒有錯(cuò)而且如果數(shù)據(jù)庫啟動(dòng)著,將會(huì)連接成功,在SQL下面會(huì)出現(xiàn)相應(yīng)的數(shù)據(jù)庫表test。
2. 添加Hibernate 容器:
在菜單欄選擇window\Open Perspective\Myeclipse Java Persistence后,我們回到了我們建的那個(gè)工程視圖頁面,在工程名HibernateTest上點(diǎn)擊鼠標(biāo)右鍵,選擇"MyEclipse\Add Hibernate Capabilities..."會(huì)出現(xiàn)New Hibernate Project視圖,我們?cè)贖ibernate Specification中選擇Hibernate 3;選擇下一步,再選擇下一步,到Hibernate Support for MyEclipse視圖頁面,在DB Driver中選擇我們剛才建立的數(shù)據(jù)庫連接SQL,在Connect URL中輸入:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test
在Username和Password中輸入數(shù)據(jù)庫用戶名和密碼sa,其他保持不變,選擇下一步,在Create Hibernate SessionFactory for MyEclipse視圖頁面中,在Java package中輸入建立工程時(shí)建立的那個(gè)包名li,選擇finish即可。
3.添加與數(shù)據(jù)庫相應(yīng)的類:
在工程中建立一個(gè)新類,命名為User,它位于li這個(gè)包里面。在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與數(shù)據(jù)庫表格的映射:
仿照User.java的建立工程,建立一個(gè)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映射:
鼠標(biāo)雙擊hibernate.cfg.xml,出現(xiàn)Hibernate 3 Configuration頁面,如果只出現(xiàn)代碼沒有出現(xiàn)該頁面,則可以在這個(gè)文件左下角點(diǎn)擊configuration切換到就可以了。
在Hibernate 3 Configuration頁面中的Mappings的地方選擇Add,加入我們剛寫的那個(gè)User.hbm.xml,然后保存hibernate.cfg.xml即可。
6. 編寫測(cè)試類
仿照User類的建立工程,在工程中建立一個(gè)新類,命名為Test,它位于li這個(gè)包里面。在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.運(yùn)行程序:
在Test.java上右鍵點(diǎn)擊學(xué)則運(yùn)行為java應(yīng)用程序,即可運(yùn)行程序。如果控制臺(tái)輸出OK字樣,則數(shù)據(jù)庫中添加數(shù)據(jù)成功了。
【編輯推薦】