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視圖可以看到該插件
生成器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命令如下
生成器使用maven命令配置
運行結果
生成的文件結構
其他說明
生成的DictMapper.xml中只有表結構映射,沒有增刪改查,DictMapper中繼承了MyMapper,這時候DictMapper已經有了基本的增刪改查等單表操作方法,這就是通用Mapper的神奇。