在MBG中,最主要也最重要的就是XML配置文件,因此本篇文章主要的内容就是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>
<classPathEntry
location="D:/Maven_Repo/mysql/mysql-connector-java/8.0.20/mysql-connector-java-8.0.20.jar"/>
<context id="sqlserverTables" targetRuntime="MyBatis3" defaultModelType="flat">
<!--抑制生成注释,由于生成的注释都是英文的,因此可以注释-->
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- mysql数据库连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://****"
userId="****"
password="****"/>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成model实体类文件位置 ,targetPackage指定model类的包名,targetproject指定生成的model类存放的地方-->
<javaModelGenerator targetPackage="com.springboot.day1.springbootweb.model"
targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="false"/>
</javaModelGenerator>
<!-- 生成mapper.xml配置文件位置 targetPackage指定生成mapper.xml文件存放的包名,targetproject指定生成的文件存放的地方-->
<sqlMapGenerator targetPackage="com.springboot.day1.springbootweb.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- 生成mapper接口文件位置 -->
<javaClientGenerator targetPackage="com.springboot.day1.springbootweb.mapper"
targetProject="src/main/java"
type="XMLMAPPER">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- 需要生成的实体类对应的表名,多个实体类复制多份该配置即可 -->
<table tableName="sys_user">
<generatedKey column="id" sqlStatement="Mysql"/>
</table>
</context>
</generatorConfiguration>
若提示context内容必须匹配,则可尝试调整context中节点顺序,与官方文档保持一致。
曾经遇到一直提示context内容不匹配的问题,顺序正常,但一直提示错误,后发现是因为某个标签(
‘这里是空格’ )后多了一个空格,删除空格后正常。后续重新添加空格进行测试,不再出现问题,怪哉!