码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis generator配置 overwrite 文件覆盖失效

时间:2019-03-26 13:18:32      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:通配符   message   acl   jdk   date   pat   xml配置   data   detail   

工具: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 文件覆盖失效

标签:通配符   message   acl   jdk   date   pat   xml配置   data   detail   

原文地址:https://www.cnblogs.com/lihuajie/p/10599246.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!