MyBatis generator配置 overwrite 文件覆盖失效
Posted lihuajie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis generator配置 overwrite 文件覆盖失效相关的知识,希望对你有一定的参考价值。
工具: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>
如果有更好的解决方法,欢迎大佬们留言。
以上是关于MyBatis generator配置 overwrite 文件覆盖失效的主要内容,如果未能解决你的问题,请参考以下文章
Mybatis Generator最完整配置详解[mybatis代码自动生成配置]