1、添加插件(pom.xml)
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>
<groupId>XXX</groupId>
<artifactId>XXX</artifactId>
<version>1.0.0</version>
<properties>
<java.version>1.8</java.version>
<mybatis.version>1.3.1</mybatis.version>
<mapper.version>3.4.3</mapper.version>
<mybatis-generator.version>1.3.3</mybatis-generator.version>
<mybatis-tk.version>1.1.4</mybatis-tk.version>
<pagehelper.version>1.2.1</pagehelper.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>${mybatis-generator.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>${mybatis-tk.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>${mybatis.generator.version}</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>${mapper.version}</version>
</dependency>
</dependencies>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
<configurationFile>
${basedir}/src/main/resources/generator/generatorConfig.xml
</configurationFile>
</configuration>
</plugin>
</plugins>
</build>
</project>
2、创建generatorConfig.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>
<properties resource="mybatis/generator.properties" />
<context id="testTables" targetRuntime="MyBatis3Simple">
<property name="javaFileEncoding" value="UTF-8"/>
<property name="beginningDelimiter" value="" />
<property name="endingDelimiter" value="" />
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="${generator.package.mapper.inherit.location}" />
<property name="caseSensitive" value="true"/>
</plugin>
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection driverClass="${generator.jdbc.driver}"
connectionURL="${generator.jdbc.url}"
userId="${generator.jdbc.username}"
password="${generator.jdbc.password}">
</jdbcConnection>
<javaModelGenerator targetPackage="${generator.package.pojo.location}"
targetProject="${generator.project.pojo.location}/src/main/java">
<property name="constructorBased" value="false"/>
<property name="enableSubPackages" value="false"/>
<property name="immutable" value="false"/>
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="${generator.package.dao.location}" targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER"
targetPackage="${generator.package.dao.location}"
targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
<property name="exampleMethodVisibility" value="default"/>
<property name="methodNameCalculator" value="default"/>
</javaClientGenerator>
<table tableName="%" delimitIdentifiers="true">
<generatedKey column="id" sqlStatement="MySql" identity="true"/>
</table>
</context>
</generatorConfiguration>
3、编写生成Mapper的集成接口IBaseMapper
package xxx.common.base;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface IBaseMapper<T> extends Mapper<T>, MySqlMapper<T> {
}
4、创建generator.properties文件
generator.jdbc.driver=com.mysql.jdbc.Driver
generator.jdbc.url=jdbc:mysql:///testdb?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT
generator.jdbc.username=root
generator.jdbc.password=root
generator.package.dao.location=xxx.xxx.dao.mapper
generator.package.mapper.inherit.location=xxx.common.base.IBaseMapper
generator.package.pojo.location=xxx.xxx.pojo.model
generator.project.pojo.location=D:\\demo\\demo-api
5、maven 》项目 》 Plugins 》 mybatis-generator 》 双击“mybatis-generator:generator”
6、编写 XXXService.java
@Service
public class XXXService implements IXXXService{
@Autowired
private XXXMapper xxxMapper;
@Override
public List<XXX> listXXX() {
return xxxMapper.selectAll();
}
@Override
public User getXXXById(Long id) {
Example example = new Example(XXX.class);
example.createCriteria().andEqualTo("id", id);
List<User> list = xxxMapper.selectByExample(example);
if (list != null && list.size() > 0) {
return list.get(0);
} else {
return null;
}
return xxxMapper.selectByPrimaryKey(id);
}
}