解决mybatis generator无法覆盖XML

今天发现mybatis generator maven plugin在重复生成的时候xml文件只会merge,不会覆盖。

明明在pom.xml中配置了如下:

<configuration>
    <configurationFile>src/main/resources/mybatis/generatorConfig.xml</configurationFile>
    <verbose>true</verbose>
    <overwrite>true</overwrite>
</configuration>

github上查找与overwrite相关的issue,找到了这个提交。

上面的意思是:当你取消了所有注释,你在重复运行generator时在mapper.xml中会出现重复的元素。并且这个plugin可以解决这个问题,版本是1.3.7

去查看generatorConfiguration,确实配置了取消生成注释。

<!-- 配置生成器 -->
<generatorConfiguration>

    <properties resource="mybatis/jdbc.properties"/>

    <context id="MyBatis" targetRuntime="MyBatis3"  defaultModelType="flat">

        <!-- 不生成注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

    ... ...

<generatorConfiguration>

那怎么既想取消注释又想覆盖XML文件生成呢?答案就是上面说的使用UnmergeableXmlMappersPlugin

在<context>下增加一个<plugin>

<!-- 配置生成器 -->
<generatorConfiguration>

    <properties resource="mybatis/jdbc.properties"/>

    <context id="MyBatis" targetRuntime="MyBatis3"  defaultModelType="flat">

        <!--覆盖生成XML文件-->
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />

        <!-- 不生成注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

    ... ...

<generatorConfiguration>

GitHub地址:https://github.com/syoukaihou/sbsm

原文地址:https://www.cnblogs.com/xxoome/p/10068780.html

时间: 2024-08-18 12:31:17

解决mybatis generator无法覆盖XML的相关文章

[问题]org.mybatis.generator.exception.XMLParserException: XML Parser Error on line 18: 对实体 &quot;characterEncoding&quot; 的引用必须以 &#39;;&#39; 分隔符结尾。

在使用mybatis-generator逆向生成的时候回遇到 org.mybatis.generator.exception.XMLParserException: XML Parser Error on line 18: 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾. 这个是因为 jdbc:mysql://127.0.0.1:3306/foodie?serverTimezone=UTC&characterEncoding=utf8&

mybatis generator的generatorConfig.xml配置详解

generatorConfig.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

解决mybatis generator警告Cannot obtain primary key information from the database, generated objects may be incomplete

使用 mybatis generator 生成pojo.dao.mapper时 经常出现 Cannot obtain primary key information from the database, generated objects may be incomplete 无法生成主键相关方法 具体详细解决方案有人已经提出了,很长,https://blog.csdn.net/jpf254/article/details/79571396#%E6%9C%80%E7%BB%88%E8%A7%A3%

解决MyBatis Generator多次生成的问题

环境: MySql8.0.18问题: 同一个数据库连接中有多个数据库,其中有的表的名称相同,这样在使用MyBatis Generator对这张表生成代码的时候,会多次执行,尤其是 mapping.xml中会追加,每次都需要将重复的部分删除,非常麻烦,通过资料查找,发现问题如下:http://mybatis.org/generator/usage/mysql.html 解决方案就是在 <jdbcConnection></jdbcConnection> 标签中添加以下信息即可: <

Mybatis Generator实现分页功能

Mybatis Generator实现分页功能 分类: IBATIS2013-07-17 17:03 882人阅读 评论(1) 收藏 举报 mybatisibatisgeneratorpage分页 众所周知,Mybatis本身没有提供基于数据库方言的分页功能,而是基于JDBC的游标分页,很容易出现性能问题.网上有很多分页的解决方案,不外乎是基于Mybatis本机的插件机制,通过拦截Sql做分页.但是在像Oracle这样的数据库上,拦截器生成的Sql语句没有变量绑定,而且每次语句的都要去拦截,感觉

Mybatis分页-利用Mybatis Generator插件生成基于数据库方言的分页语句,统计记录总数 (转)

众所周知,Mybatis本身没有提供基于数据库方言的分页功能,而是基于JDBC的游标分页,很容易出现性能问题.网上有很多分页的解决方案,不外乎是基于Mybatis本机的插件机制,通过拦截Sql做分页.但是在像Oracle这样的数据库上,拦截器生成的Sql语句没有变量绑定,而且每次语句的都要去拦截,感觉有点浪费性能. Mybatis Generator是Mybatis的代码生成工具,可以生成大部分的查询语句. 本文提供的分页解决方案是新增Mybatis Generator插件,在用Mybatis

mybatis generator生成带有分页的Mybatis代码

MyBatis开发,最让人开心的就是可以随意写SQL,这样有多好的性能的SQL都可以进行调优. 但是MyBatis的优点也是它的缺点,不论什么项目都需要编写SQL,令人头疼的要命,一般业务(例如单表操作)的简单查询.修改.删除.插入,都需要自己手工去编写SQL. 还好有第三方的软件给我解决这些事情,可以像使用Hibernate一样使用MyBatis,当需要进行特殊定制的再进行修改. 1.      本文档主要描述 1.表格: 2.视图:3.存储过程:4.自定义的MyBatis 1.1.     

MyBatis Generator 自定义生成注释

注释生成器 为了生成db里面的注释,必须自定义注释生成器 EmptyCommentGenerator: import org.mybatis.generator.api.CommentGenerator; import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.IntrospectedTable; import org.mybatis.generator.api.dom.java.

Maven安装MyBatis Generator

一直依赖我都不是很喜欢自动生成代码的工具,因为生成出来的代码不是很好的,适应性不好! 再说,自己写一些代码也是消耗不了多少时间的.但是应同学的要求,我帮他安装了MyBatis Generator. pom.xml: <plugins>     <plugin>       <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</