工具:IDEA、jdk1.8、mysql
底部有解决方法!
pom.xml配置
<plugins> <!--Mybatis自动代码插入--> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <configuration> <!--允许移动生成的文件--> <verbose>true</verbose> <!--允许覆盖生成的文件--> <overwrite>true</overwrite> </configuration> </plugin> </plugins>
generator.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"> <!--generator配置详解:https://blog.csdn.net/zhaoyachao123/article/details/78961737--> <generatorConfiguration> <!--导入属性配置--> <properties resource="generator.properties"/> <classPathEntry location="${driverLocalhost}"/> <context id="Mysql" defaultModelType="flat"> <!--覆盖生成XML文件 generator1.3.7版本--> <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"></plugin> <!--注释--> <commentGenerator> <property name="suppressAllComments" value="true"/><!--是否取消注释--> <property name="suppressDate" value="true"/><!--是否生成注释代时间戳--> </commentGenerator> <jdbcConnection driverClass="${driver}" connectionURL="${url}" userId="${username}" password="${password}"/> <!--类型转换--> <javaTypeResolver> <!--是否使用bigDecimal,false可自动转化以下类型(Long,Integer,Short,etc.)--> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <javaModelGenerator targetPackage="${modelPackage}" targetProject="${modelProject}" /> <sqlMapGenerator targetPackage="${sqlPackage}" targetProject="${sqlProject}" /> <javaClientGenerator targetPackage="${mapperPackage}" targetProject="${mapperProject}" type="XMLMAPPER"/> <!--如果需要通配所有表 tableName 直接用sql的通配符 %即可--> <!--enableCountByExample(默认true):MyBatis3Simple为false,指定是否生成动态查询总条数语句(用于分页的总条数查询);--> <!--enableUpdateByExample(默认true):MyBatis3Simple为false,指定是否生成动态修改语句(只修改对象中不为空的属性);--> <!--enableDeleteByExample(默认true):MyBatis3Simple为false,指定是否生成动态删除语句;--> <!--enableSelectByExample(默认true):MyBatis3Simple为false,指定是否生成动态查询语句;--> <table schema="" tableName="%" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/> </context> </generatorConfiguration>
generator.properties
driverLocalhost = E:/Maven_Repo/mysql/mysql-connector-java/5.1.45/mysql-connector-java-5.1.45.jar
driver = com.mysql.jdbc.Driver url = jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=utf-8 username=root password=****** #entity 包名和 java目录 modelPackage=com.stemCell.entity modelProject=src/main/java #mapper包名 和resources目录 sqlPackage=mapper sqlProject=src/main/resources #dao包名和 java目录 mapperPackage=com.stemCell.dao mapperProject=src/main/java #测试时使用,生成message表 table=message
解决方案:
①:mybatis-generator-maven-plugin版本改为1.3.7(个人试用过1.3.2和1.3.5均无法解决这问题)
②:在generatorConfig.xml中的<context>下添加:
<plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"></plugin>
如果有更好的解决方法,欢迎大佬们留言。