MyBatis命令行實現(xiàn)逆向工程的示例

這篇文章主要介紹了MyBatis命令行實現(xiàn)逆向工程的示例,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

目前創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設、域名、雅安服務器托管、網(wǎng)站托管、服務器租用、企業(yè)網(wǎng)站設計、夏河網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

1.MyBatis逆向工程介紹

在開發(fā)過程中,經(jīng)常有需要使用MyBatis的情形,通常情況下,MyBatis構建項目避免不了寫實體類、Dao接口、Mapper映射文件,這些工作都類似,具有一定的重復性,有的時候也容易出錯,于是就有人發(fā)明了【MyBatis逆向工程】->MyBatis Generator。MyBatis Generator(MBG)是一個代碼生成器, 可以生成我們所需要的dao.java、mapper.xml、pojo實體類文件,對于一些表較多的項目來說,能減少很多的工作量,來提高我們的效率。網(wǎng)上有很多類似的教程,可以在eclipse里安裝插件進行生成,以及在IDEA中生成等,由于我使用命令行來實現(xiàn)的,所以這里我只介紹命令行的方式,也比較簡單。

能夠生成的SQL語句包括:

  • insert

  • update by primary key

  • update by example (using a dynamic where clause)

  • delete by primary key

  • delete by example (using a dynamic where clause)

  • select by primary key

  • select by example (using a dynamic where clause)

  • count by example

這些語句的變化取決于表的結構(例如,如果表沒有主鍵,則MBG不會通過主鍵功能生成更新)更多介紹可以參考文檔:http://mybatis.org/generator。

2.下載MyBatis Generator 文件

我是在github上下載的,GitHub地址:https://github.com/mybatis/generator/releases,推薦使用迅雷下載應該會快一點。下載文件,并解壓,解壓后的文件目錄如下:
MyBatis命令行實現(xiàn)逆向工程的示例
查看解壓之后lib文件夾里的內(nèi)容,這里也就是我們需要使用到的jar包了
MyBatis命令行實現(xiàn)逆向工程的示例

3.配置generatorConfig.xml文件

在剛剛解壓的文件夾內(nèi)新建generatorConfig.xml文件,當然,這個文件的名字是自己取的,那么這個文件有什么作用呢?該配置文件告訴MBG:

  • 如何連接到數(shù)據(jù)庫

  • 生成什么對象,以及如何生成它們

  • 哪些表應用于對象生成

另外,我們還要做一些準備工作:
1)找到自己的數(shù)據(jù)庫驅(qū)動的jar包位置,為了方便演示,我這里把數(shù)據(jù)庫驅(qū)動放到剛才解壓的目錄下面,我的是MySQL5.7
2) 新建一個空的src文件夾,用于存放生成的文件
MyBatis命令行實現(xiàn)逆向工程的示例
generatorConfig.xml文件內(nèi)容如下:
MyBatis命令行實現(xiàn)逆向工程的示例
generatorConfig.xml代碼

PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><!--數(shù)據(jù)庫驅(qū)動,最好不要有中文字符,不然會找不到--><classPathEntry location="mysql-connector-java-5.1.27.jar" /><context id="DB2Tables" targetRuntime="MyBatis3"><commentGenerator><property name="suppressDate" value="true"/><property name="suppressAllComments" value="true"/></commentGenerator><!--數(shù)據(jù)庫鏈接地址賬號密碼--><jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/vhr" userId="root" password="123456"></jdbcConnection><javaTypeResolver>
	<property name="forceBigDecimals" value="false"/></javaTypeResolver><!--生成Model類存放位置--><javaModelGenerator targetPackage="com.zzti.vhr.model" targetProject="src">
	<property name="enableSubPackages" value="true"/>
	<property name="trimStrings" value="true"/></javaModelGenerator><!--生成映射文件存放位置--><sqlMapGenerator targetPackage="com.zzti.vhr.mapper" targetProject="src">
	<property name="enableSubPackages" value="true"/></sqlMapGenerator><!--生成DaoMapper類存放位置--><javaClientGenerator type="XMLMAPPER" targetPackage="com.zzti.vhr.mapper" targetProject="src"><property name="enableSubPackages" value="true"/></javaClientGenerator><!--生成對應表及類名,需要記住的一點是逆向工程無法生成關聯(lián)關系,只能生成單表操作--><table tableName="adjustsalary" domainObjectName="AdjustSalary" 
	enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" 
	enableSelectByExample="false" selectByExampleQueryId="false"></table></context></generatorConfiguration>

需要配置的信息,這里我用紅框已經(jīng)圈了起來,需要配置的信息包括
數(shù)據(jù)庫信息;
生成的實體類的包名及targetProject也就是我們的生成文件要存放的位置,我的這里把它放到src目錄下;
生成mapper接口信息;
生成的mapper xml文件信息,這里我的mapper接口和xml文件在同一目錄下
所要生成的數(shù)據(jù)庫表配置信息,需要對哪些表進行生成,在后面加上即可,表里的配置屬性具體含義可以查看文檔中的說明,參考這里

4.生成代碼

在命令行中需要執(zhí)行的命令如下:

 java -jar lib/mybatis-generator-core-1.3.1.jar -configfile generatorConfig.xml -overwrite

我們可以通過cd到當前目錄,然后執(zhí)行上面命令即可,我這里把它放到bat文件中來執(zhí)行,新建start.bat文件,拷入上面命令
MyBatis命令行實現(xiàn)逆向工程的示例

雙擊執(zhí)行bat文件,在src目錄下即可看到生成的文件,然后將我們生成的文件拷貝到我們的項目工程中就可以使用啦!

ps:在生成后的文件中,可能某些字段或方法不能正確的創(chuàng)建,應該是MySQL環(huán)境和插件版本不太一致的問題,可以在jdbcConnection里面加入以下屬性試一試:<property name="databaseSchemaUpdate" value="true" />
MyBatis命令行實現(xiàn)逆向工程的示例

感謝你能夠認真閱讀完這篇文章,希望小編分享的“MyBatis命令行實現(xiàn)逆向工程的示例”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!

名稱欄目:MyBatis命令行實現(xiàn)逆向工程的示例
當前鏈接:http://bm7419.com/article40/gegjeo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站設計公司服務器托管、軟件開發(fā)、用戶體驗、響應式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)