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

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

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

    隨筆-35  評論-33  文章-0  trackbacks-0
             mybatis目前一直作為我主要使用的ORM框架,當然,它的簡單,SQL可控,高效才是我選擇它的最終原因。前段時間學習了他的實體,ORM的XML文件自動生成,感覺也是比較簡單。下面稍微介紹一下具體的配置方面的


    在它的官網上,有幾種方式來生成類及配置。

    1 從命令提示符 使用 XML 配置文件

    2 作為Ant 任務使用 XML 配置文件

    3 作為Maven Plugin

    4 從另一個Java 程序使用 XML 配置文件

    5 插件生成

    今天,我只講實踐第3,5點:

    一 使用MAVEN插件

    首先在你的POM里面添加一個PLUG,



    另外,針對MVN,需要設置兩個內置變量:



    mybatis.generator.overwrite:表示每次生成是否覆蓋之前的文件,默認為否

    mybatis.generator.configurationFile:表示生成代碼文件的配置文件,默認文件名為generatorConfig.xml,這里我進行自定義,因為插件生成對比MVN的生成,里面的配置項不能公用,當然。各位看官,有好的方式,也請分享一下。OK。MVN的配置生成就OK了。你只需要使用熟悉的mvn clean install,即可從DB生成你想要的實體,ORM的配置。

    二 使用官方的插件

    這個是基于eclipse的swt的,GITHUB上面,有這個插件的地址https://github.com/mybatis/generator/tree/master/eclipse/UpdateSite,下載下來,然后放到eclispe下面的dropins下面,重啟一下就行了。

    最后,我們重點的講一下generatorConfig.xml這個配置項文件

    classPathEntry :元素 用于添加運行類路徑位置到類路徑中的 MyBatis Generator(MBG)。 classPathEntry元素是generatorConfiguration的子元素.MBG 在這些情況下從這些路徑下加載類:

    a 當加載 JDBC 驅動內省數據庫時

    b 當加載根類中的 JavaModelGenerator 檢查重寫的方法時

    context :元素用于指定生成一組對象的環境。子元素用于指定要連接到的數據庫、 要生成對象的類型和要內省的表。多個 context元素可以在generatorConfiguration元素中列出來,這樣可以在同一個MyBatis Generator (MBG)從不同的數據庫或者使用不同的生成生成器參數生成對象。以下都 是context的子元素

    commentGenerator:用來定義注釋生成的屬性,主要有suppressAllComments,suppressDate這兩個屬性。其中suppressAllComments
    表示是否生成注釋,suppressDate表示是否生成日期

    jdbcConnection:定義數據庫相關的屬性說明,比較簡單,就不列了。



    javaModelGenerator:JAVA的model生成配置,主要有targetPackage,targetProject丙個屬性

    targetPackage:表示生成的MODEL包路徑

    targetProject:表示生成的MODEL項目路徑

    sqlMapGenerator:用于定義SQL映射生成器的屬性。SQL映射生成器為每一個內省的表生成MyBatis/iBATIS形式的XML文件。如果不指定一個javaClientGenerator,則適用以下規則:

    如果您指定一個sqlMapGenerator,那么MBG將只生成SQL映射的XML文件和模型對象。如果您沒有指定一個sqlMapGenerator,那么MBG將只會生成模型對象。

    targetPackage:這個包用于放置生成的SQL映射文件。在默認的生成器中,屬性"enableSubPackages"用來控制如何計算實際的包。

    如果是true,如果表的catalog和schema存在,就將他們作為子包加起來。如果"enableSubPackages"是false(默認值),計算的package將是targetPackage屬性指定的值。MBG 將創建所需的生成包的文件夾。

    targetProject:這用來指定生成SQL映射的目標項目。當在Eclipse環境中運行時,此選項指定保存對象的位置的項目和源文件夾。在其他環境中,此值應為本地文件系統上的現有目錄。如果它不存在,MBG不會創建它。

    javaClientGenerator:用于定義 Java 客戶端代碼生成器的屬性。Java客戶端生成器生成Java接口和類,它可以簡單地使用生成的Java模型和XML映射文件。在iBATIS2目標環境中,這些對象可以生成DAO接口和實現類形式的代碼。對Mybatis來說,會生成Mapper接口形式的代碼。如果不指定此元素,然后代碼生成器(MBG)將不會生成Java客戶端接口和類。

    table 元素用來從內省數據庫中選擇一個表。選定的表會生成如下的這些對象:

    一個 MyBatis/iBATIS 格式的SQL映射文件

    一組根據表生成的"model"類:

    一個和表的主鍵匹配的類(如果表有主鍵)。

    一個包含了非主鍵字段和BLOB字段的類,如果存在主鍵類,這個類就會繼承主鍵類。

    如果表中包含BLOB字段,就會有一個包含了BLOB字段的類。這個類會根據表的配置繼承上面的一個或兩個類。

    一個用于不同的"by example"方法(selectByExample, deleteByExample)生成動態查詢條件的類。

    (可選) 一個DAO接口或者類。

    最后給個配置截圖:




    當然,這個mybatis的插件其實是不支持多表關聯去生成代碼。初看,好像是不太友好。不過,你靜下來想一下,其實也就明白。在一個大數據訪問的時代,為什么需要多表關聯。我們跟本不需要!!!就是要單表。足夠簡單,足夠清晰,足夠NB.話說回來,你確實需要多表關連時,可以在它的基礎上,再去改你的SQL了。



    我的微信公眾號,歡迎溝通學習。
    posted on 2016-01-30 13:45 alexcai 閱讀(3328) 評論(0)  編輯  收藏

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


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 久久久久免费看成人影片| 精品国产一区二区三区免费| 无码av免费毛片一区二区| 久久精品7亚洲午夜a| 任你躁在线精品免费| 亚洲人成影院在线| 1000部无遮挡拍拍拍免费视频观看 | 亚洲综合色区中文字幕| 日韩免费一区二区三区在线播放| 亚洲精品国产专区91在线| 中国在线观看免费高清完整版| 亚洲日韩国产一区二区三区在线| 国产色婷婷精品免费视频| 一个人看的www视频免费在线观看| 亚洲一区二区三区国产精品| 怡红院免费全部视频在线视频 | 亚洲精品动漫在线| 欧美男同gv免费网站观看| 亚洲精品无码专区| 亚洲国产天堂久久久久久| 三级网站在线免费观看| 亚洲熟妇av一区| 成人免费a级毛片无码网站入口| 亚洲暴爽av人人爽日日碰| 亚洲综合久久夜AV | 无码A级毛片免费视频内谢| 亚洲国产成+人+综合| 在线观看免费亚洲| 99视频在线观看免费| 亚洲人成免费电影| 九月婷婷亚洲综合在线| 免费看黄的成人APP| 亚洲影视自拍揄拍愉拍| 亚洲精品久久久www| 99热在线观看免费| 国产午夜亚洲精品不卡| 亚洲av无码国产精品夜色午夜 | 精品亚洲成A人无码成A在线观看| 国产成人高清精品免费软件| 好男人www免费高清视频在线| 一级毛片a免费播放王色|