<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-86  評論-33  文章-0  trackbacks-0
    參考
    Hibernate 開發指南
    V1.0
    作者:夏昕 xiaxin(at)gmail.com
    =========Hibernate學習筆記========
    構建Hibernate 基礎代碼
    1、POJO
    2、Hibernate 映射文件

           數據庫表通過Middlegen-Hibernate生成ORM(對象-關系型數據映射)再通過Hibernate-Extension生成POJO,對數據庫的操作就可在POJO上完成

    1、首先用Middlegen-Hibernate生成ORM
           
    配置目標數據庫參數
                  進入MiddleGen 目錄下的\config\database 子目錄,根據我們實際采用的數據庫打開對應的配置文件,這里我使用的是MSSQL,既打開mssql.xml ,化線部分根據自己的數據庫而定         
       
       

       

       

       


       
    <property name="database.script.file"           value=""/>
       
    <property name="database.driver.file"           value="${lib.dir}/jtds-1.1.jar"/>
       
    <property name="database.driver"                value="net.sourceforge.jtds.jdbc.Driver"/>
       
    <property name="database.url"                   value="jdbc:jtds:sqlserver://localhost:1433/tushu"/>
       <
    property name="database.userid"                value="sa"
    />
       
    <property name="database.password"              value="dada"/>

       
    <property name="database.schema"                value="dbo"/>
       
    <property name="database.catalog"               value="tushu"/>

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

        修改Build.xml
          修改MiddleGen 根目錄下的build.xml 文件,此文件是Middlegen-Hibernate 的Ant構建配置。Middlegen-Hibernate將根據build.xml文件中的具體參數生成數據庫表映射文件。可配置的項目包括:
      a) 目標數據庫配置文件地址
         查找關鍵字 ”!ENTITY”,得到(定義數據庫使用的xml文件)
    DOCTYPE project [
    ENTITY database SYSTEM
    "file:./config/database/hsqldb.xml">

    ]
    >
         這里根據上面定義的數據庫,將其改為:
    DOCTYPE project [
        
    ENTITY database SYSTEM "file:./config/database/mssql.xml">

    ]
    >
       
      b) Application name
          默認的Application name,可以自定義名稱
       
     <property name="name" value="HibernateTestDada"/>


      c) 輸出目錄
    <property name="build.gen-src.dir"   value="${build.dir}/gen-src"/>
    修改value="${build.dir}/gen-src"使其指向我們所期望的輸出目錄,這里我修改為:
    <property name="build.gen-src.dir"    value="D:\sample"/>

      d) 對應代碼的Package name 
    <hibernate
    destination
    ="${build.gen-src.dir}"

    package
    ="${name}.hibernate"
    genXDocletTags
    ="false"
    genIntergratedCompositeKeys
    ="false"
    javaTypeMapper
    =
    "middlegen.plugins.hibernate.HibernateJavaTypeMapper"
    />
      對生成文件的包名路徑,這里自定義為:
      <hibernate
                destination
    ="${build.gen-src.dir}"

                package
    ="derek.hibernate.test"
                genXDocletTags
    ="true"
                genIntergratedCompositeKeys
    ="false"
                javaTypeMapper
    ="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
             
    />

    這里還有一個屬性genXDocletTags,如果設置為true,則生成的代碼將包含xdoclet tag,這為以后在開發過程中借助xdoclet進行映射調整提供了幫助。
        
    其中原書作者強調如果是SQLSERVER還要刪除以下劃線內容,否則報錯找不到數據庫,但是在我測試過程中發現如果去了會報找不到數據庫的錯誤,所以我沒有刪除,并且在前面“配置目標數據庫參數”中設置了這兩個參數的屬性。
    <middlegen
    appname
    ="${name}"

    prefsdir
    ="${src.dir}"
    gui
    ="${gui}"
    databaseurl
    ="${database.url}"
    initialContextFactory
    ="${java.naming.factory.initial}"
    providerURL
    ="${java.naming.provider.url}"
    datasourceJNDIName
    ="${datasource.jndi.name}"
    driver
    ="${database.driver}"
    username
    ="${database.userid}"
    password
    ="${database.password}"
    schema
    ="${database.schema}"
    catalog
    ="${database.catalog}"
    >
               至此為止,MiddleGen 已經配置完畢,在MiddleGen 根目錄下運行ant。將出現圖形窗口。生成hbm映射文件,映射文件反映了數據庫表結構。每個映射文件都對應了數據庫的一個表。

    2、Hibernate Extension生成POJO
      hbm2java.bat根據映射文件生成對應的POJO
      打開tools\bin\setenv.bat 文件,根據實際情況修改
       其中遇到一個問題,原本應該在CP變量中加%CLASSPATH%,但是由于我裝過xmlspy,所以當我執行hbm2java時,提示找不到類,其中提示中出現Files\Altova\xmlspy\XMLSpyInterface.jar,但此包我并沒加,包括在%CLASSPATH%中也沒設置,但他出現了,于是我將%CLASSPATH%從CP中去除,并手工的加入%CLASSPATH%中定義的路徑,問題解決!!!
    @echo off

    rem 
    -------------------------------------------------------------------
    rem Setup environment 
    for hibernate tools
    rem 
    -------------------------------------------------------------------

    set JDBC_DRIVER=D:\HibernateTools\hibernate-extensions-2.1.3\tools\lib\jtds-1.1.jar
    set HIBERNATE_HOME=D:\hibernate-2.1
    set HIBERNATETOOLS_HOME=D:\HibernateTools\hibernate-extensions-2.1.3\tools
    echo HIBERNATETOOLS_HOME 
    set to %HIBERNATETOOLS_HOME%

    if "%HIBERNATE_HOME%" == "" goto noHIBERNATEHome

    set CORELIB=%HIBERNATE_HOME%\lib
    set LIB=%HIBERNATETOOLS_HOME%\lib
    set PROPS=%HIBERNATE_HOME%\src
    set CP=%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%\hibernate2.jar;%CORELIB%;%CORELIB%\commons-logging-1.0.4.jar;%CORELIB%\commons-lang-1.0.1.jar;%CORELIB%\cglib-full-2.0.2.jar;%CORELIB%\dom4j-1.4.jar;%CORELIB%\odmg-3.0.jar;%CORELIB%\xml-apis.jar;%CORELIB%\xerces-2.4.0.jar;%CORELIB%\xalan-2.4.0.jar;%LIB%\jdom.jar;%CORELIB%\commons-collections-2.1.1.jar;%HIBERNATETOOLS_HOME%\hibernate-tools.jar;.;C:\j2sdk1.4.2\lib;C:\j2sdk1.4.2\lib\tools.jar;C:\j2sdk1.4.2\lib\dt.jar;


    if not "%HIBERNATE_HOME%" == "" goto end

    :noHIBERNATEHome
    echo HIBERNATE_HOME 
    is not set. Please set HIBERNATE_HOME.
    goto end

    :end

    使用hbm2java,根據MiddleGen生成的映射文件生成Java 代碼:
    打開Command Window,在tools\bin目錄下執行:
    hbm2java D:\sample\derek\hibernate\test\*.xml --output=d:\sample\
    即可生成對應的POJO。生成的POJO 保存在我指定的輸出目錄下(d:\sample)

    -----------------------------------------------
    詳細內容可見
    Hibernate 開發指南
    V1.0
    作者:夏昕 xiaxin(at)gmail.com
    -----------------------------------------------
    posted on 2005-09-11 19:35 Derek.Guo 閱讀(2561) 評論(0)  編輯  收藏 所屬分類: Java
    MSN:envoydada@hotmail.com QQ:34935442
    主站蜘蛛池模板: 在线观看免费视频资源| 两个人日本WWW免费版| 性xxxxx免费视频播放| 亚洲欧洲校园自拍都市| 一级毛片免费观看不卡的| 亚洲高清视频在线观看| 最近免费字幕中文大全视频| 777亚洲精品乱码久久久久久| 亚洲三级在线免费观看| 亚洲午夜国产精品| 亚洲AV无码成人网站久久精品大| 免费萌白酱国产一区二区三区| 久久综合AV免费观看| 亚洲一区中文字幕在线电影网| 无码一区二区三区AV免费| 亚洲看片无码在线视频| 精品国产一区二区三区免费看| 国产成人 亚洲欧洲| 伊人亚洲综合青草青草久热| 国产一区二区免费| 亚洲综合激情另类小说区| 女人18毛片特级一级免费视频| 亚洲精品色在线网站| 美腿丝袜亚洲综合| 91香蕉国产线观看免费全集| 伊人久久亚洲综合影院首页| 国产精品深夜福利免费观看| 黄视频在线观看免费| 亚洲视频在线一区二区三区| 免费看美女被靠到爽| 成人免费无码H在线观看不卡| 99人中文字幕亚洲区| 手机看片久久国产免费| 久久er国产精品免费观看8| 亚洲视频一区二区三区| 亚洲国产成人久久精品99| 日韩中文字幕免费视频| 色欲aⅴ亚洲情无码AV| 久久久久亚洲精品无码系列| 全免费A级毛片免费看网站| 日本在线免费播放|