<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
    主站蜘蛛池模板: 综合偷自拍亚洲乱中文字幕| 免费精品一区二区三区第35| 在线观看成人免费| 亚洲无码视频在线| 亚洲人xxx日本人18| 又硬又粗又长又爽免费看 | 亚洲日韩乱码久久久久久| 免费看成人AA片无码视频吃奶| 亚洲AV永久无码精品水牛影视| 自拍偷自拍亚洲精品播放| 国产一区视频在线免费观看| 老子影院午夜伦不卡亚洲| 亚洲中文字幕无码专区| 99re8这里有精品热视频免费| 亚洲AV乱码一区二区三区林ゆな | xxxx日本在线播放免费不卡| 在线视频观看免费视频18| 亚洲婷婷五月综合狠狠爱| 国产亚洲一卡2卡3卡4卡新区| 国产一级做a爱免费视频| 国产vA免费精品高清在线观看| 国产精品亚洲w码日韩中文| 久久免费精品视频| 亚洲综合丁香婷婷六月香| 好爽好紧好大的免费视频国产| 亚洲国产精品人久久电影| 精品久久久久久久久免费影院| 亚洲国产成人久久精品大牛影视| 精品国产免费人成电影在线观看| 亚洲成AV人片天堂网无码| 久久青草91免费观看| 亚洲熟妇无码AV在线播放| 久久久久久久99精品免费观看| 亚洲黄色片在线观看| 国产精品va无码免费麻豆| 精品国产呦系列在线观看免费| 麻豆亚洲av熟女国产一区二| 国产精品久久香蕉免费播放| a毛片全部免费播放| 亚洲中文精品久久久久久不卡| 亚洲午夜激情视频|