在springboot中使用mybatis generate自动生成实体类和mapper
1、在全局的pom中引入mybatis generate的依賴
<!--自動生成實體--><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.5</version></dependency>2、在全局的pom中加入插件
<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.5</version><configuration><!--generatorConfig.xml位置--><configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile><verbose>true</verbose><overwrite>true</overwrite></configuration><executions><execution><id>Generate MyBatis Artifacts</id><goals><goal>generate</goal></goals><phase>generate-sources</phase></execution></executions><!--此處必須添加mysql驅動包--><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope><version>5.1.46</version></dependency></dependencies></plugin>3、創建配置文件
以下是我自己的創建配置文件的位置。
可以看到我這個項目里面有很多個模塊,但是我為什么放在XApplication這個模塊中呢,因為這個模塊是我整個項目的唯一啟動入口,所以才會在這里進行配置。
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"> <!-- 配置生成器 --> <generatorConfiguration><!--執行generator插件生成文件的命令: call mvn mybatis-generator:generate -e --><!-- 引入配置文件 --><properties resource="mybatis-generator/mybatisGeneratorinit.properties"/><!--classPathEntry:數據庫的JDBC驅動,換成你自己的驅動位置 可選 --><!--<classPathEntry location="E:\mybatis\mysql-connector-java-5.1.24-bin.jar" /> --><!-- 一個數據庫一個context --><!--defaultModelType="flat" 大數據字段,不分表 --><context id="MysqlTables" targetRuntime="MyBatis3Simple" defaultModelType="flat"><!-- 自動識別數據庫關鍵字,默認false,如果設置為true,根據SqlReservedWords中定義的關鍵字列表;一般保留默認值,遇到數據庫關鍵字(Java關鍵字),使用columnOverride覆蓋 --><property name="autoDelimitKeywords" value="true" /><!-- 生成的Java文件的編碼 --><property name="javaFileEncoding" value="utf-8" /><!-- beginningDelimiter和endingDelimiter:指明數據庫的用于標記數據庫對象名的符號,比如ORACLE就是雙引號,MYSQL默認是`反引號; --><property name="beginningDelimiter" value="`" /><property name="endingDelimiter" value="`" /><!-- 格式化java代碼 --><property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/><!-- 格式化XML代碼 --><property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/><plugin type="org.mybatis.generator.plugins.SerializablePlugin" /><plugin type="org.mybatis.generator.plugins.ToStringPlugin" /><!-- 注釋 --><commentGenerator ><property name="suppressAllComments" value="false"/><!-- 是否取消注釋 --><property name="suppressDate" value="true" /> <!-- 是否生成注釋代時間戳--></commentGenerator><!-- jdbc連接 --><jdbcConnection driverClass="${jdbc_driver}" connectionURL="${jdbc_url}" userId="${jdbc_user}" password="${jdbc_password}" /><!-- 類型轉換 --><javaTypeResolver><!-- 是否使用bigDecimal, false可自動轉化以下類型(Long, Integer, Short, etc.) --><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- 生成實體類地址 --><javaModelGenerator targetPackage="biz.xcj.entity.sys.permit" targetProject="${models}" ><property name="enableSubPackages" value="false"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- 生成mapxml文件 --><sqlMapGenerator targetPackage="biz.xcj.mapper.sys.permit" targetProject="${resources}" ><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- 生成mapxml對應client,也就是接口dao --><javaClientGenerator targetPackage="biz.xcj.mapper.sys.permit" targetProject="${dao}" type="XMLMAPPER" ><property name="enableSubPackages" value="true" /></javaClientGenerator><!-- table可以有多個,每個數據庫中的表都可以寫一個table,tableName表示要匹配的數據庫表,也可以在tableName屬性中通過使用%通配符來匹配所有數據庫表,只有匹配的表才會自動生成文件 --><!--如果想生成一個表則tableName="table_name"--><table tableName="text"enableCountByExample="true"enableUpdateByExample="true"enableDeleteByExample="true"enableSelectByExample="true"selectByExampleQueryId="true"><property name="useActualColumnNames" value="false" /><!-- 數據庫表主鍵 --><generatedKey column="uuid" sqlStatement="Mysql" identity="true" /></table></context> </generatorConfiguration>mybatisGeneratorinit.properties文件
jdbc_driver=com.mysql.jdbc.Driver jdbc_url=jdbc:mysql://localhost:3306/hyqd?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai jdbc_user=root jdbc_password=123456 models=C:\\jinshu\\develop\\projects\\HYQD\\web-user-manager-pojo\\src\\main\\java resources=C:\\jinshu\\develop\\projects\\HYQD\\web-user-manager-pojo\\src\\main\\java dao=C:\\jinshu\\develop\\projects\\HYQD\\web-user-manager-pojo\\src\\main\\java4、配置文件需要自己配置的內容講解
1:數據庫連接配置
在mybatisGeneratorinit.properties文件中的所有jdbc配置中,這個大家應該都很熟系了,連接上自己的數據庫即可。
2:實體類生成地址配置
在generatorConfig.xml文件中的這個地方。
<!-- 生成實體類地址 --><javaModelGenerator targetPackage="biz.xcj.entity.sys.permit" targetProject="${models}" ><property name="enableSubPackages" value="false"/><property name="trimStrings" value="true"/></javaModelGenerator>targetProject="${models}" 引用的就是mybatisGeneratorinit.properties文件中的models的配置。
因為我自己是想直接生成在項目中,所以我的models配置的路徑就是我自己項目的絕對路徑。
targetPackage里面的內容就是生成實體類的具體位置。因為我的models已經配置到java的這個位置了,所以我的targetPackage只需要配置java后面的路徑就可以了,如圖所示,我java后面的路徑為biz.xcj.entity.sys.permit。
總結:配置生成地址,只需要修改targetPackage和models兩個參數即可。
3:mapper層生成地址配置
在generatorConfig.xml文件中的這個地方。
<!-- 生成mapxml文件 --><sqlMapGenerator targetPackage="biz.xcj.mapper.sys.permit" targetProject="${resources}" ><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- 生成mapxml對應client,也就是接口dao --><javaClientGenerator targetPackage="biz.xcj.mapper.sys.permit" targetProject="${dao}" type="XMLMAPPER" ><property name="enableSubPackages" value="true" /></javaClientGenerator>這里面配置的內容其實適合實體類的配置一模一樣的,都是同一個原理。
只需要修改targetPackage的參數和mybatisGeneratorinit.properties中對應的配置就可以了。
4:配置需要生成的數據庫表
在generatorConfig.xml文件中的這個地方。tableName就表示需要生成的表名稱。
<!--如果想生成一個表則tableName="table_name"--><table tableName="text"enableCountByExample="true"enableUpdateByExample="true"enableDeleteByExample="true"enableSelectByExample="true"selectByExampleQueryId="true"><property name="useActualColumnNames" value="false" /><!-- 數據庫表主鍵 --><generatedKey column="uuid" sqlStatement="Mysql" identity="true" /></table>4、生成代碼
配置好后,打開后面的maven窗口。
因為我是在XApplication模塊中配置的,所以打開的位置路徑是XApplication-Plugins-mybatis-generator,雙擊第一個mybatis-generator:generate
最后提示SUCCESS則表示自動生成成功。
總結
以上是生活随笔為你收集整理的在springboot中使用mybatis generate自动生成实体类和mapper的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot简单集成Redis,
- 下一篇: java实现十进制与二进制之间的转换