#使用 Mybatis generator 可以动态的生成跟数据库交互的代码
pom 依赖
pom需要添加如下配置:
1.插件包依赖
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
2.pom plugin 添加如下配置
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<!-- 这里只想逆向工程配置文件的地址-->
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
<!-- 使用tk mybatis 插件,方便数据库的操作 不需要的可以不配置这项目-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.4.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<version>2.1.1.RELEASE</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 这里是自己定义的一个插件,针对 部分数据库字段和java字段不对应生成的映射有问题的解决办法
这个包需要单独创建一个项目,因为说是 mybatis 和当前项目的classpath不一致,需要手动导入lib-->
<dependency>
<groupId>com.example.tom</groupId>
<artifactId>mybatis-generator-plugin</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/java/com/tom/lib/mybatis-generator-plugin-1.0.0.jar</systemPath>
</dependency>
</dependencies>
</plugin>
配置文件
在 resources/generator 下创建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="middleware.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!-- 配置 tk.mybatis 插件-->
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<!-- 这里是自己封装了下 Mapper接口,实际上里边什么都没做,也可以直接 写 tk.mybatis.mapper.common.Mapper
BaseMapper 的实现
public interface BaseMapper<T> extends Mapper<T> {
}
-->
<property name="mappers" value="com.api.common.mapper.BaseMapper"/>