posts - 23, comments - 0, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Hibernate 配置

          Posted on 2006-08-09 16:24 beauty9235 閱讀(244) 評論(0)  編輯  收藏 所屬分類: java編程
          				

          引用地址:http://blog.csdn.net/joohnnie/archive/2004/09/15/105911.aspx

          最近看了一本關于Hibernate開發的書.自己嘗試了一下.

          1.首先準備環境,以下Hibernate及其插件的下載地址 http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc

          2.Hibernate基礎代碼包括

          • POJO
            POJO在Hibernate里應該理解成數據庫表所對應的Domain Object.POJO就是“Plain Ordinary Java Object“ 無格式的普通Java對象.可以理解為不包含邏輯代碼的值對象(Value Object)

            public class TUser implements Serializable
            {
            ??????? private String name;

            ??????? public User(String name)
            ?????? {
            ?????????????? this.name = name;
            ??????? }

            ??????? /** default constructor */
            ??????? public User()
            ?????? {
            ???????}

            ??????? public String getName()
            ?????? {
            ?????????????? return this.name;
            ?????? }

            ??????? public void setName(String name)
            ?????? {
            ????????????? this.name = name;
            ???????}
            }


          • Hibernate映射文件
            Hibernate 從本質上來講是一種“對象-關系型數據映射”(Object Relational
            Mapping 簡稱ORM)。前面的POJO在這里體現的就是ORM中Object層的語義,
            而映射(Mapping)文件則是將對象(Object)與關系型數據(Relational)相關聯的紐帶,在Hibernate中,映射文件通常以“.hbm.xml”作為后綴。

          3.由數據庫來產生基礎代碼
          ??? Hibernate官方提供的MiddleGen for Hibernate 和Hibernate_Extension工具包,我
          ??? 以很方便的根據現有數據庫,導出數據庫表結構,生成ORM和POJO。下面就來做個示例.

          4.接壓縮MiddleGen-Hibernate到 C:workMiddleGen.

          5.接壓縮Hibernate 到 C:workHibernate.

          6.接壓縮Extentions到 c:workExtentions

          7.進入MiddleGen目錄的configdatabase子目錄.我們這里用的是Sqlserver2000,所以選擇mssql.xml

          ?? 打開 mssql.xml

          ?? <property name="database.script.file"?????????? value=""/>
          ?? <property name="database.driver.file"?????????? value="${lib.dir}/Sprinta2000.jar"/>
          ?? <property name="database.driver"??????????????? value="com.inet.tds.TdsDriver"/>
          ?? <property name="database.url"?????????????????? value="jdbc:inetdae7:localhost?database=airline"/>
          ?? <property name="database.userid"??????????????? value="sa"/>
          ?? <property name="database.password"????????????? value="sa"/>
          ?? <property name="database.schema"??????????????? value=""/>
          ?? <property name="database.catalog"?????????????? value=""/>

          ?? <property name="jboss.datasource.mapping"?????? value="MS SQLSERVER"/>

          這里修改一下

          我們把下載好的jdbc for sqlserver2000安裝了后,把安裝目錄的lib目錄下面的3個jar文件放到Middlegen的lib目錄里面.

          ???????? <property name="database.driver.file"?????????? value="${lib.dir}/mssqlserver.jar"/>? //驅動jar文件
          ?????????<property name="database.driver"??????????????? value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>//用winrar打開上面的jar文件就可以看到SQLServerDriver.class在jar文件中的路徑了
          ?????????<property name="database.url"?????????????????? value="jdbc:microsoft:sqlserver://localhost:1433;database=Northwind"/>//數據庫的路徑.前面的“jdbc.microsoft.sqlserver“
          ???????? <property name="database.userid"??????????????? value="sa"/>//用戶名
          ????????<property name="database.password"????????????? value=""/>//密碼
          ????????<property name="database.schema"??????????????? value="dbo"/>//一定要寫,很重要
          ??????? <property name="database.catalog"?????????????? value="Northwind"/>//一定要寫很重要

          8.配置build.xml文件(下面只是個人做一些測試,可以根據自己的需要來進行修改)

          • 查找關鍵字 ”!ENTITY”,得到:
            ??????? <!DOCTYPE project [
            ???????????????? <!ENTITY database SYSTEM? ?"file:./config/database/hsqldb.xml">
            ??????? ]>

          ????????????????? 因為默認MiddleGen是采用hsql.xml,所以修改成我們的mssql.xml

          ??????????????????<!DOCTYPE project [
          ??????????????????????????? <!ENTITY database SYSTEM? ?"file:./config/database/hsqldb.xml">
          ????????????????? ]>

          • 修改程序的name

          ????????????? <property name="name" value="airline"/>

          ?????????????? 修改成

          ?????????????? <property name="name" value="sample"/>

          • 修改輸出目錄
            ??? 查找“name="build.gen-src.dir"“
            ?? <property name="build.gen-src.dir" value="${build.dir}/gen-src"/>

          ???????????? 修改成
          ???????????? <property name="build.gen-src.dir" value="c:sample"/>

          • 修改Package 名稱

            查找“<hibernate“

          ?????????? <hibernate
          ???????????????????? destination="${build.gen-src.dir}"
          ????????????????????? package="${name}.hibernate"
          ????????????????????? genXDocletTags="false"
          ???????????????????? genIntergratedCompositeKeys="false"
          ???????????????????? javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
          ??????????/>

          ??????????把pachage屬性修改為

          ????????? <hibernate
          ???????????????????? destination="${build.gen-src.dir}"
          ????????????????????? package="org.hibernate.sample"
          ????????????????????? genXDocletTags="true"
          ???????????????????? genIntergratedCompositeKeys="false"
          ???????????????????? javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
          ??????????/>??????????

          ????????? 這里的genXDocletTags是設置在生成代碼的時候是否生成XDoclettags,這個很重要,我們設置成true.

          9.配置ant的路徑,解壓縮下載的ant后,比如c:ant

          ? 我們右擊我的電腦->熟悉->高級->編輯path的熟悉

          ? 在后面加入c:antin

          10.點擊開始-->運行-->cmd

          ??????? cd到我們的MiddleGen目錄 ,運行ant

          ??????? 如果提示連接數據庫失敗的話那就是mssql.xml沒有配置好

          ??????? 如果顯示連接數據庫成功,沒有找到table的話就是schemas和catalogs沒有配置對了.

          11.如果沒有出錯的話會啟動一個界面,然后點擊最上面的generae就可以生成POJO文件了.


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 黑河市| 龙口市| 津市市| 永春县| 杨浦区| 甘洛县| 右玉县| 南澳县| 香港| 潮州市| 清苑县| 姜堰市| 宾阳县| 泌阳县| 高州市| 永靖县| 读书| 洪洞县| 中卫市| 兴文县| 大丰市| 峨边| 米林县| 鄂州市| 荣成市| 宝清县| 措勤县| 东明县| 庆安县| 长寿区| 杭锦后旗| 民丰县| 新宁县| 五家渠市| 逊克县| 虎林市| 石狮市| 南乐县| 洛浦县| 宁蒗| 垣曲县|