Maven工程下mybatis-generator的使用

pom.xml 注入構(gòu)建插件

<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.0</version>
    <dependencies>
        <!-- mysql連接驅(qū)動 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.40</version>
        </dependency>
    </dependencies>
    <configuration>
        <verbose>true</verbose>
        <outputDirectory>src/main/java</outputDirectory>
        <overwrite>true</overwrite>
<configurationFile>${basedir}/src/test/resources/generatorConfig.xml</configurationFile>
    </configuration>
</plugin>

逆向工程配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>


    <context id="users-dao">
        <!--是否生成注釋-->
        <commentGenerator>
            <property name="suppressDate" value="true"/>
        </commentGenerator>

        <jdbcConnection userId="root" password="123"
                        driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/xtyr?charsetEncoding=utf8">
        </jdbcConnection>
        <javaModelGenerator targetPackage="cn.gduf.xtyr.modules.users.entity.gen"
                            targetProject="MAVEN">
            <!-- enableSubPackages:是否讓schema作為包的后綴 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 從數(shù)據(jù)庫返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <sqlMapGenerator targetPackage="cn.gduf.xtyr.modules.users.dao.gen"
                         targetProject="MAVEN"></sqlMapGenerator>
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="cn.gduf.xtyr.modules.users.dao.gen" targetProject="MAVEN">
            <!-- enableSubPackages:是否讓schema作為包的后綴 -->
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>
        <table tableName="department"></table>
        <table tableName="roles"></table>
        <table tableName="user_role"></table>
        <table tableName="users"></table>
    </context>

</generatorConfiguration>

構(gòu)建命令

可以在命令行通過以下命令執(zhí)行:

  • mvn mybatis-generator:generate
    您可以通過標(biāo)準(zhǔn)的Maven命令屬性傳遞參數(shù)再悼, 例如:
  • mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate

參考參數(shù)

所有的參數(shù)都是可選的,大部分都適合的默認(rèn)值论巍。

參數(shù) 表達(dá)式 類型 注釋
configurationFile ${mybatis.generator.configurationFile} java.io.File 指定配置文件的名稱檐迟。默認(rèn)值:${basedir}/src/main/resources/generatorConfig.xml
contexts ${mybatis.generator.contexts} java.lang.String 如果指定了該參數(shù)净赴,逗號隔開的這些context會被執(zhí)行。 這些指定的context必須和配置文件中 <context> 元素的 id屬性一致。 只有指定的這些contextid會被激活執(zhí)行蚂会。如果沒有指定該參數(shù)转捕,所有的context都會被激活執(zhí)行作岖。
jdbcDriver ${mybatis.generator.jdbcDriver} java.lang.String 如果您指定了 sqlScript 參數(shù), 當(dāng)連接數(shù)據(jù)庫時這里的值是JDBC驅(qū)動類的權(quán)限定名稱。
jdbcPassword ${mybatis.generator.jdbcPassword} java.lang.String 如果您指定了 sqlScript 參數(shù), 這是連接數(shù)據(jù)庫的密碼五芝。
jdbcURL ${mybatis.generator.jdbcURL} java.lang.String 如果您指定了 sqlScript 參數(shù), 這是連接數(shù)據(jù)庫的JDBC URL
jdbcUserId ${mybatis.generator.jdbcUserId} java.lang.String 如果您指定了 sqlScript 參數(shù), 這里是連接數(shù)據(jù)庫的用戶id
outputDirectory ${mybatis.generator.outputDirectory} java.io.File 將放置 MBG 所生成文件的目錄痘儡。 這個目錄是用于當(dāng) targetProject 在配置文件中設(shè)置特殊值的"MAVEN"時使用(大小寫敏感)。默認(rèn)值:${project.build.directory}/generated-sources/mybatis-generator
overwrite ${mybatis.generator.overwrite} boolean 如果指定了該參數(shù)枢步,如果生成的java文件存在已經(jīng)同名的文件沉删,新生成的文件會覆蓋原有的文件。 如果沒有指定該參數(shù)醉途,如果存在同名的文件矾瑰,MBG會給新生成的代碼文件生成一個唯一的名字(例如: MyClass.java.1, MyClass.java.2 等等)。 重要: 生成器一定會自動合并或覆蓋已經(jīng)生成的XML文件隘擎。默認(rèn)值:false
sqlScript ${mybatis.generator.sqlScript} java.lang.String 要在生成代碼之前運(yùn)行的 SQL 腳本文件的位置殴穴。 如果空,不會執(zhí)行任何腳本。 如果不是空采幌,jdbcDriver,jdbcURL 參數(shù)必須提供劲够。 另外如果連接數(shù)據(jù)庫需要認(rèn)證也需要提供 jdbcUserId 和 jdbcPassword 參數(shù)。值可以使一個文件系統(tǒng)的絕對路徑或者是一個使用"classpath:"開頭放在構(gòu)建的類路徑下的路徑休傍。
tableNames ${mybatis.generator.tableNames} java.lang.String 如果指定了該參數(shù)征绎,逗號隔開的這個表會被運(yùn)行, 這些表名必須和 <table> 配置中的表面完全一致磨取。只有指定的這些表會被執(zhí)行人柿。 如果沒有指定該參數(shù),所有的表都會被執(zhí)行忙厌。 按如下方式指定表明: tableschema.tablecatalog..table等等凫岖。
verbose ${mybatis.generator.verbose} boolean 如果指定該參數(shù),執(zhí)行過程會輸出到控制臺慰毅。

targetProject 解釋

與Maven運(yùn)行時 生成器 配置的 targetProject 屬性有不同的解釋隘截。 如果指定值為"MAVEN" (大小寫敏感), targetProject 將被設(shè)置為插件的輸出目錄,而且如果不存在這個目錄汹胃,將會創(chuàng)建這個目錄婶芭。 如果沒有設(shè)置為 "MAVEN", 那么targetProject 將會被 MGB 當(dāng)成普通的 - 它必須是一個已經(jīng)存在的目錄。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末着饥,一起剝皮案震驚了整個濱河市犀农,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宰掉,老刑警劉巖呵哨,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異轨奄,居然都是意外死亡孟害,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進(jìn)店門挪拟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挨务,“玉大人,你說我怎么就攤上這事玉组』驯” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵惯雳,是天一觀的道長朝巫。 經(jīng)常有香客問我,道長石景,這世上最難降的妖魔是什么劈猿? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任拙吉,我火速辦了婚禮,結(jié)果婚禮上糙臼,老公的妹妹穿的比我還像新娘庐镐。我一直安慰自己恩商,他們只是感情好变逃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怠堪,像睡著了一般揽乱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上粟矿,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天凰棉,我揣著相機(jī)與錄音,去河邊找鬼陌粹。 笑死撒犀,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的掏秩。 我是一名探鬼主播或舞,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蒙幻!你這毒婦竟也來了映凳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤邮破,失蹤者是張志新(化名)和其女友劉穎诈豌,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抒和,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡矫渔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了摧莽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片庙洼。...
    茶點(diǎn)故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖范嘱,靈堂內(nèi)的尸體忽然破棺而出送膳,到底是詐尸還是另有隱情,我是刑警寧澤丑蛤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布叠聋,位于F島的核電站,受9級特大地震影響受裹,放射性物質(zhì)發(fā)生泄漏碌补。R本人自食惡果不足惜虏束,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望厦章。 院中可真熱鬧镇匀,春花似錦、人聲如沸袜啃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽群发。三九已至晰韵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間熟妓,已是汗流浹背雪猪。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留起愈,地道東北人只恨。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像抬虽,于是被迫代替她去往敵國和親官觅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 所有項目的構(gòu)建都是有生命周期的斥赋,這個生命周期包括:項目清理缰猴、初始化、編譯疤剑、測試滑绒、打包、集成測試隘膘、驗證疑故、部署、站點(diǎn)生...
    zlcook閱讀 2,773評論 0 21
  • 當(dāng)前钦铁,JVM生態(tài)圈主要的三大構(gòu)建工具: Apache Ant(帶著Ivy) Maven Gradle 對于剛開始接...
    清楓_小天閱讀 5,798評論 1 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)才漆,斷路器牛曹,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 你很危險,因為你在找死醇滥。
    心遇荷華閱讀 159評論 0 0
  • 在上這堂課之前黎比,我沒有聽說過“植物壓花”超营,今日見到了壓花是什么,立馬想到了植物標(biāo)本和插花阅虫。 ……同時演闭,壓花是一種手...
    meshow閱讀 2,114評論 0 1