當(dāng)前位置:
首頁(yè) >
【Spring框架家族】mybatis generator代码自动生成(看得上眼直接拿去用即可)
發(fā)布時(shí)間:2025/5/22
67
豆豆
生活随笔
收集整理的這篇文章主要介紹了
【Spring框架家族】mybatis generator代码自动生成(看得上眼直接拿去用即可)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
小工具,直接上代碼,有大佬看的上,拿去復(fù)制改改相關(guān)參數(shù)就好
基于idea上使用的
pom文件
<build><plugins><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version><configuration><configurationFile>src/main/resources/generatorConfig.xml</configurationFile><overwrite>true</overwrite><verbose>true</verbose></configuration><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version></dependency><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>4.0.0</version></dependency><dependency><groupId>tk.mybatis</groupId><artifactId>mapper-generator</artifactId><version>1.1.5</version></dependency></dependencies></plugin></plugins></build>配置文件generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <!-- 生成的指令 mvn mybatis-generator:generate --> <!-- 配置生成器 --> <generatorConfiguration><!-- 指定mysql的驅(qū)動(dòng)包 --><!--<classPathEntry location="D:\resources\maven\mysql\mysql-connector-java\8.0.11\mysql-connector-java-8.0.11.jar"/>--><!--context:生成一組對(duì)象的環(huán)境id:必選,上下文id,用于在生成錯(cuò)誤的時(shí)候提示targetRuntime:1,MyBatis3:默認(rèn)值,生成基于MyBatis3.x以上版本的內(nèi)容,包括XXXBySample2,MyBatis3Simple:類(lèi)似MyBatis3,只是不生成XXXBySampledefaultModelType:指定生成對(duì)象的樣式1,conditional:類(lèi)似hierarchical;如果某張表只有一個(gè)字段,則不會(huì)生成改實(shí)體2,flat:所有內(nèi)容(主鍵,blob)等全部生成在一個(gè)對(duì)象中;常用3,hierarchical:主鍵生成一個(gè)XXKey對(duì)象(key class),Blob等單獨(dú)生成一個(gè)對(duì)象,其他簡(jiǎn)單屬性在一個(gè)對(duì)象中(record class)introspectedColumnImpl:類(lèi)全限定名,用于擴(kuò)展MBG--><context id="bosTables" targetRuntime="MyBatis3" defaultModelType="flat"><plugin type="tk.mybatis.mapper.generator.MapperPlugin"><property name="mappers" value="tk.mybatis.mapper.common.Mapper"/><property name="caseSensitive" value="true"/><property name="forceAnnotation" value="true"/><!--beginningDelimiter和endingDelimiter:指明數(shù)據(jù)庫(kù)的用于標(biāo)記數(shù)據(jù)庫(kù)對(duì)象名的符號(hào),比如ORACLE就是雙引號(hào),MYSQL默認(rèn)是`反引號(hào);--><property name="beginningDelimiter" value="`"/><property name="endingDelimiter" value="`"/></plugin><commentGenerator type="org.mybatis.generator.internal.DefaultCommentGenerator"><property name="javaFileEncoding" value="UTF-8"/><!-- 是否去除自動(dòng)生成的注釋 true:是 : false:否 --><property name="suppressAllComments" value="true"/><property name="suppressDate" value="true"/></commentGenerator><!-- 連接配置 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://127.0.0.1:3306/dist?serverTimezone=GMT"userId="root"password="root"><property name="nullCatalogMeansCurrent" value="true"/></jdbcConnection><!--javaModelGenerator是模型的生成信息,這里將指定這些Java model類(lèi)的生成路徑targetPackage:生成的類(lèi)要放的包,真實(shí)的包受enableSubPackages屬性控制targetProject:目標(biāo)項(xiàng)目,指定一個(gè)存在的目錄,生成的內(nèi)容會(huì)放到指定的目錄中,如果目錄不存在,MBG不會(huì)自動(dòng)創(chuàng)建目錄--><javaModelGenerator targetPackage="cs.wy.customer.entity"targetProject="D:/wanyuan/test/src/main/java"><!--在targetPackage的基礎(chǔ)上,根據(jù)數(shù)據(jù)庫(kù)的schema再生成一層package,最終生成的類(lèi)放在這個(gè)package下,默認(rèn)為false--><property name="enableSubPackages" value="true"/><!-- 設(shè)置是否在getter方法中,對(duì)String類(lèi)型字段調(diào)用trim()方法 --><property name="trimStrings" value="false"/></javaModelGenerator><!--生成Mapper 配置文件,SQL map的XML文件生成器targetPackage/targetProject:同javaModelGenerator--><sqlMapGenerator targetPackage="cs.wy.customer.dao"targetProject="D:/wanyuan/test/src/main/resources"><!--在targetPackage的基礎(chǔ)上,根據(jù)數(shù)據(jù)庫(kù)的schema再生成一層package,最終生成的類(lèi)放在這個(gè)package下,默認(rèn)為false--><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- javaClientGenerator是應(yīng)用接口的生成信息 --><!--對(duì)于mybatis來(lái)說(shuō),即生成Mapper接口,注意,如果沒(méi)有配置該元素,那么默認(rèn)不會(huì)生成Mapper接口targetPackage/targetProject:同javaModelGeneratortype:選擇怎么生成mapper接口(在MyBatis3/MyBatis3Simple下):1,ANNOTATEDMAPPER:會(huì)生成使用Mapper接口+Annotation的方式創(chuàng)建(SQL生成在annotation中),不會(huì)生成對(duì)應(yīng)的XML;2,MIXEDMAPPER:使用混合配置,會(huì)生成Mapper接口,并適當(dāng)添加合適的Annotation,但是XML會(huì)生成在XML中;3,XMLMAPPER:會(huì)生成Mapper接口,接口完全依賴(lài)XML;注意,如果context是MyBatis3Simple:只支持ANNOTATEDMAPPER和XMLMAPPER--><javaClientGenerator type="XMLMAPPER"targetPackage="cs.wy.customer.dao"targetProject="D:/wanyuan/test/src/main/java"><!-- 在targetPackage的基礎(chǔ)上,根據(jù)數(shù)據(jù)庫(kù)的schema再生成一層package,最終生成的類(lèi)放在這個(gè)package下,默認(rèn)為false --><property name="enableSubPackages" value="true"/></javaClientGenerator><!--要生成的表 tableName是數(shù)據(jù)庫(kù)中的表名或視圖名 domainObjectName是實(shí)體類(lèi)名mapperName是dao層的類(lèi)名--><table schema="" tableName="user" domainObjectName="UserInfo"mapperName="UserDao"enableCountByExample="false"enableUpdateByExample="false" enableDeleteByExample="false"enableSelectByExample="false" selectByExampleQueryId="false"/></context></generatorConfiguration>運(yùn)行結(jié)果
右邊Plugins下找到紅框的位置,運(yùn)行跑一波,文件就出來(lái)了
總結(jié)
以上是生活随笔為你收集整理的【Spring框架家族】mybatis generator代码自动生成(看得上眼直接拿去用即可)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【面试题】你知道为什么HashMap是线
- 下一篇: JavaScript 权威指南-学习笔记