這篇文章主要介紹了MyBatis命令行實(shí)現(xiàn)逆向工程的示例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
目前創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、夏河網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
1.MyBatis逆向工程介紹
在開發(fā)過程中,經(jīng)常有需要使用MyBatis的情形,通常情況下,MyBatis構(gòu)建項(xiàng)目避免不了寫實(shí)體類、Dao接口、Mapper映射文件,這些工作都類似,具有一定的重復(fù)性,有的時(shí)候也容易出錯(cuò),于是就有人發(fā)明了【MyBatis逆向工程】->MyBatis Generator。MyBatis Generator(MBG)是一個(gè)代碼生成器, 可以生成我們所需要的dao.java、mapper.xml、pojo實(shí)體類文件,對于一些表較多的項(xiàng)目來說,能減少很多的工作量,來提高我們的效率。網(wǎng)上有很多類似的教程,可以在eclipse里安裝插件進(jìn)行生成,以及在IDEA中生成等,由于我使用命令行來實(shí)現(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
這些語句的變化取決于表的結(jié)構(gòu)(例如,如果表沒有主鍵,則MBG不會通過主鍵功能生成更新)更多介紹可以參考文檔:http://mybatis.org/generator。
2.下載MyBatis Generator 文件
我是在github上下載的,GitHub地址:https://github.com/mybatis/generator/releases,推薦使用迅雷下載應(yīng)該會快一點(diǎn)。下載文件,并解壓,解壓后的文件目錄如下:
查看解壓之后lib文件夾里的內(nèi)容,這里也就是我們需要使用到的jar包了
3.配置generatorConfig.xml文件
在剛剛解壓的文件夾內(nèi)新建generatorConfig.xml文件,當(dāng)然,這個(gè)文件的名字是自己取的,那么這個(gè)文件有什么作用呢?該配置文件告訴MBG:
如何連接到數(shù)據(jù)庫
生成什么對象,以及如何生成它們
哪些表應(yīng)用于對象生成
另外,我們還要做一些準(zhǔn)備工作:
1)找到自己的數(shù)據(jù)庫驅(qū)動(dòng)的jar包位置,為了方便演示,我這里把數(shù)據(jù)庫驅(qū)動(dòng)放到剛才解壓的目錄下面,我的是MySQL5.7
2) 新建一個(gè)空的src文件夾,用于存放生成的文件
generatorConfig.xml文件內(nèi)容如下:
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ū)動(dòng),最好不要有中文字符,不然會找不到--><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><!--生成對應(yīng)表及類名,需要記住的一點(diǎn)是逆向工程無法生成關(guān)聯(lián)關(guān)系,只能生成單表操作--><table tableName="adjustsalary" domainObjectName="AdjustSalary" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table></context></generatorConfiguration>
需要配置的信息,這里我用紅框已經(jīng)圈了起來,需要配置的信息包括
數(shù)據(jù)庫信息;
生成的實(shí)體類的包名及targetProject
也就是我們的生成文件要存放的位置,我的這里把它放到src目錄下;
生成mapper接口信息;
生成的mapper xml文件信息,這里我的mapper接口和xml文件在同一目錄下
所要生成的數(shù)據(jù)庫表配置信息,需要對哪些表進(jìn)行生成,在后面加上即可,表里的配置屬性具體含義可以查看文檔中的說明,參考這里
4.生成代碼
在命令行中需要執(zhí)行的命令如下:
java -jar lib/mybatis-generator-core-1.3.1.jar -configfile generatorConfig.xml -overwrite
我們可以通過cd到當(dāng)前目錄,然后執(zhí)行上面命令即可,我這里把它放到bat文件中來執(zhí)行,新建start.bat文件,拷入上面命令
雙擊執(zhí)行bat文件,在src目錄下即可看到生成的文件,然后將我們生成的文件拷貝到我們的項(xiàng)目工程中就可以使用啦!
ps:在生成后的文件中,可能某些字段或方法不能正確的創(chuàng)建,應(yīng)該是MySQL環(huán)境和插件版本不太一致的問題,可以在jdbcConnection里面加入以下屬性試一試:<property name="databaseSchemaUpdate" value="true" />
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“MyBatis命令行實(shí)現(xiàn)逆向工程的示例”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
名稱欄目:MyBatis命令行實(shí)現(xiàn)逆向工程的示例
當(dāng)前鏈接:http://m.newbst.com/article40/gegjeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站設(shè)計(jì)公司、服務(wù)器托管、軟件開發(fā)、用戶體驗(yàn)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)