tk.mybatis是对mybatis的进一步封装,它对基本的单表的增删改查又做了进一步封装,springboot中的使用之前已经写过了,如果没用过,请参考我之前的文章《springboot中使用PageHelper和tk.mybatis》,本文介绍tk.mybatis的代码生成器的使用。
pom添加插件(非必选)
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</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>${mysql-connector-java.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.4.3</version>
</dependency>
</dependencies>
</plugin>
该插件配置后。如果IDE工具用的idea,右侧的maven视图可以看到该插件
generatorConfig.xml配置
tk.mybatis的该配置相对于原生的,支持了properties文件的加载,再也不用担心项目中配置和生成器配置不一样了。本就应该这样,相同的变量尽量出自同一处,这也是写代码时候的规范吧
<?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="application.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<!--处理sql中的`符号-->
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--添加自定义的继承接口-->
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="com.mos.quote.common.MyMapper"/>
</plugin>
<!--数据源配置-->
<jdbcConnection driverClass="${spring.datasource.driver-class-name}"
connectionURL="${spring.datasource.url}"
userId="${spring.datasource.username}"
password="${spring.datasource.password}">
</jdbcConnection>
<!--model包路径-->
<javaModelGenerator targetPackage="com.mos.quote.model" targetProject="src/main/java"/>
<!--mapper.xml包路径-->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
<!--mapper包路径-->
<javaClientGenerator targetPackage="com.mos.quote.mapper" targetProject="src/main/java"
type="XMLMAPPER"/>
<!--表配置,tableName支持%,表示全部生成-->
<table tableName="t_dic_dict" domainObjectName="Dict">
<!--mysql 配置-->
<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
</table>
</context>
</generatorConfiguration>
运行插件
1.如果配置了插件,双击maven视图中的插件【mybatis-generator:generate】。
2.如果没有配置插件,需要添加一个maven运行命令,找到【run configurations】,添加一个maven命令如下
运行结果
其他说明
生成的DictMapper.xml中只有表结构映射,没有增删改查,DictMapper中继承了MyMapper,这时候DictMapper已经有了基本的增删改查等单表操作方法,这就是通用Mapper的神奇。