SpringBoot系列使用Generator进行自动生成
Maven导入Generator插件
properties
标签下配置版本信息
1 2
| <mybatis-generator-maven-plugin.version>1.3.7</mybatis-generator-maven-plugin.version> <mybatis-generator-core.version>1.3.7</mybatis-generator-core.version>
|
build
标签下配置导入Generator,不可在dependencies
标签下配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| <build>
<resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources>
<plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- MyBatis 逆向工程,自动生成entity、mapper文件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>${mybatis-generator-maven-plugin.version}</version> <configuration> <configurationFile>${project.basedir}/src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>${mybatis-generator-core.version}</version> </dependency> </dependencies> </plugin> </plugins> </build>
|
配置Generator文件
在resources目录新建generatorConfig.properties
和generatorConfig.xml
两个文件
整体目录结构如下
generatorConfig.properties
1 2 3 4 5 6 7 8 9
| #数据库驱动jar,必须配对路径
drive.class.path = F:/Test/mysql-connector-java-5.1.47.jar
# 数据库连接参数 jdbc.driver = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://127.0.0.1:3306/anima?characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&useSSL=false jdbc.username = root jdbc.password= 3333
|
generatorConfig.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| <?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> <properties resource="generatorConfig.properties" /> <!--mysql 连接数据库jar 这里选择自己本地位置--> <classPathEntry location = "${drive.class.path}" /> <context id="mybatisGenerator" targetRuntime="MyBatis3"> <commentGenerator> <!-- 是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--数据库连接的信息:驱动类、连接地址、用户名、密码 --> <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"> </jdbcConnection>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver>
<!--配置生成的实体包 targetPackage:生成的实体包位置,默认存放在src目录下 targetProject:目标工程名 -->
<!-- targetProject:生成PO类的位置 --> <javaModelGenerator targetPackage="com.sakura.anima.entity" targetProject=".\src\main\java"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator>
<!-- 实体包对应映射文件位置及名称,默认存放在src目录下 --> <sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.sakura.anima.mapper" targetProject=".\src\main\java"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator>
<!-- 指定数据库表 -->
<table tableName="anima_info" domainObjectName="animaInfo" enableDeleteByExample="false" enableSelectByExample="false" enableCountByExample="false" enableUpdateByExample="false" enableUpdateByPrimaryKey="false"> <!--<generatedKey column="sid" sqlStatement="${table.primaryKey}"/>--> <!-- 需要忽略的列true 大小写完全匹配,false 忽略大小写匹配 --> <!--<ignoreColumn column="PLAN_ID" delimitedColumnName="true" />--> </table>
<!--<!–有些表的字段需要指定java类型–>--> <!--<table schema="" tableName="userName">--> <!--<columnOverride column="userName" javaType="String" />--> <!--</table>--> <!--<table schema="" tableName="userName">--> <!--<columnOverride column="cardId" javaType="Long" />--> <!--</table>--> </context> </generatorConfiguration>
|
自动生成
双击运行该Maven插件即可
小建议
在建表时,表名、字段名称建议用”_”分隔多个单词,比如:ab_cd、cd_e …,这样生成的entity,属性名称就会变成漂亮的驼峰命名,即:abCd、cdE