目录
1、写在前面
问题1、pom.xml中plugin配置不同,会导致Mapper文件中生成缺少如下的几个xxxxPrimaryKey方法
2、配置举栗
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
...
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>service</name>
<dependencies>
<!-- MyBatis3DynamicSql 生成器 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.3</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>org.mybatis.dynamic-sql</groupId>
<artifactId>mybatis-dynamic-sql</artifactId>
<version>1.1.4</version>
</dependency>
<!-- MyBatis3DynamicSql 生成器 -->
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<configurationFile>src/main/resources/mybatis-dynamic-sql-generator.xml</configurationFile>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<!-- 这里不能配置,会导致缺少xxxxPrimary方法 -->
</dependencies>
</plugin>
</plugins>
</build>
</project>
配置文件mybatis-dynamic-sql-generator.xml
<?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>
<context id="xxxx" targetRuntime="MyBatis3DynamicSql">
<!-- 从数据库中的字段的comment做为生成entity的属性注释 -->
<commentGenerator>
<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/xxxx?useUnicode=true"
userId="x"
password="x">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="true"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.xxxx" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="com.xxxx" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!--配置需要生成的表-->
<table tableName="order"
domainObjectName="Order">
<property name="useActualColumnNames" value="false"/>
<generatedKey column="id" sqlStatement="MySql" identity="true"/>
<columnOverride column="status"
javaType="....StatusEnum"
typeHandler="....StatusEnumHandler"/>
</table>
</context>
</generatorConfiguration>