<?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>
<!--引入外部配置文件 resource:指定classpath下的属性文件,使用类似-->
<!--<properties resource="jdbc.properties"/>-->
<!--最常见的用法是通过这个属性指定驱动的路径,例如:-->
<!--<classPathEntry location="E:\mysql\mysql-connector-java-5.1.29.jar"/>-->
<!--<context>元素用于指定生成一组对象的环境。-->
<!--例如指定要连接的数据库,要生成对象的类型和要处理的数据库中的表。运行MBG的时候还可以指定要运行的<context>-->
<!--该元素只有一个必选属性id,用来唯一确定一个<context>元素-->
<!--可选属性 defaultModelType定义了MBG如何生成实体类,属性值conditional(默认值)、flat(推荐使用,为每一张表只生成一个实体类)、hierarchical-->
<!--targetRuntime:此属性用于指定生成的代码的运行时环境:MyBatis3(默认值 一般情况下使用默认值即可)、MyBatis3Simple、Ibatis2Java2、Ibatis2Java5-->
<context id="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--定义Mapper插件-->
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="com.xxx.utils.MyMapper"/>
</plugin>
<!--指定数据库连接信息,该元素必选,并且只能有一个-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/XXX?characterEncoding=UTF-8"
userId="root"
password="XXX">
</jdbcConnection>
<!--对于生成的实体类所在包 targetPackage:生成实体类存放的包名,一般就是放在该包下;-->
<!--targetProject:指定目标项目路径,可以是绝对路径或相对路径-->
<javaModelGenerator targetPackage="com.xxx.entity" targetProject="src/main/java"/>
<!-- 对于生成的mapper.xml SQL映射文件所在目录 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
<!-- 配置mapper接口对应的java映射 -->
<!--type:该属性用于选择一个预定义的客户端代码(可以理解为Mapper接口)生成器-->
<javaClientGenerator targetPackage="com.xxx.mapper" targetProject="src/main/java"
type="XMLMAPPER"/>
<!--配置要通过内省的表-->
<!--tableName:指定要生成的表名,可以使用SQL通配符匹配多个表-->
<table schema="" tableName="t_%">
<!--enableCountByExample="false"-->
<!--enableDeleteByExample="false"-->
<!--enableSelectByExample="false"-->
<!--enableUpdateByExample="false">-->
<!--<columnRenamingRule searchString="^[^_]+" replaceString=""/>-->
<!--重命名生成实体类名-->
<!--<domainObjectRenamingRule searchString="^T" replaceString="" />-->
</table>
</context>
</generatorConfiguration>
基本配置如上:
说明:本文使用mapper插件,自动生成mapper类。
generatorConfig.xml中做如下配置
<!--定义Mapper插件--> <plugin type="tk.mybatis.mapper.generator.MapperPlugin"> <property name="mappers" value="com.xxx.utils.MyMapper"/> </plugin>
tk.mapper的pom如下
<!--mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>1.2.4</version>
</dependency>
需注意使用tk插件,spring-boot的启动类上 使用tk包下的
import tk.mybatis.spring.annotation.MapperScan; @MapperScan(basePackages = {"com.xxx.mapper"})
generatorConfig.xml配置参考https://www.jianshu.com/p/cd8867af4389;
官方文档更加详细但是是英文,基本能看懂可以作为中文文档的补充和参考:http://www.mybatis.org/generator/configreference/xmlconfig.html
tk.mapper官方详细教程https://github.com/abel533/Mapper