在MBG中,最主要也最重要的就是XML配置文件,因此本篇文章主要的内容就是XML配置,可参考官方节点,有详细解释。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration><classPathEntrylocation="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内容不匹配的问题,顺序正常,但一直提示错误,后发现是因为某个标签(‘这里是空格’ )后多了一个空格,删除空格后正常。后续重新添加空格进行测试,不再出现问题,怪哉!