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的神奇。