mybatis-generator生成文件覆盖问题的解决

目录
  • mybatis-generator生成文件覆盖
    • 解决方案
  • mybatis-generator避免覆盖自定义的sql方法

mybatis-generator生成文件覆盖

在Idea中使用Mybatis-generator plugin时遇到的问题,我的mybatis配置到的DB的服务中,每次部署微服务时需要install db这个微服务,将其打成jar包,供其他服务引用。

可是发现,我每次install或者package时候,mybatis-generator都会随编译自动运行,导致工程中的的mapper和dao都被冲掉。

解决方案

<configuration>
    <!--配置文件的位置-->
    <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
    <verbose>true</verbose>
    <overwrite>true</overwrite>
</configuration>
<executions>
    <execution>
        <id>Generate MyBatis Artifacts</id>
        <!-- 该配置可避免maven install或者package时候运行该插件,导致本地mapper重新生成 -->
        <phase>deploy</phase>
        <goals>
            <goal>generate</goal>
        </goals>
    </execution>
</executions>
<dependencies>
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.2</version>
    </dependency>
</dependencies>

官方文档中有如下描述:

The MBG plugin is bound to the generate-sources phase of a Maven build, so it will execute before the compile step. Also note that MBG generates both Java source files and XML resources. The MBG goal will bind both generated Java files and XML resources to the build and they will both be included in any JAR generated by the build.

mybatis-generator避免覆盖自定义的sql方法

编写PersonExtMapper.java 接口文件 编写自定义方法

编写PersonExtMapper.xml 映射文件 配置映射

PersonExtMapper.xml 和PersontMapper.xml(Mybatis生成器生成)的区别

指向各自的Maper接口文件

但相同

当数据库字段发生改变 执行指令mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate 不会覆盖自定义的方法

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Mybatis Generator具体使用小技巧

    目录 1.问题描述 2.解决方案 2.1 pom中指定mybatis generator 插件 2.2 generatorConfig.xml 2.3 执行 2.4 总结 1.问题描述 mybatis generator 简单说就是生成一些mybatis的公共方法,用了好多年了,一直也没记录过,最近使用稍微有了点变话,简单记录下,方便下次使用,也希望可以帮到其他人. 2.解决方案 最近使用主要有两点变化: (1)以前使用,指定了本地数据库驱动jar包,本次直接用maven,dependency指

  • Mybatis Generator Plugin悲观锁实现示例

    目录 前言 实现背景: 实现Mybatis悲观锁 完整代码 前言 Mybatis Generator插件可以快速的实现基础的数据库CRUD操作,它同时支持JAVA语言和Kotlin语言,将程序员从重复的Mapper和Dao层代码编写中释放出来.Mybatis Generator可以自动生成大部分的SQL代码,如update,updateSelectively,insert,insertSelectively,select语句等.但是,当程序中需要SQL不在自动生成的SQL范围内时,就需要使用自定

  • 详解mybatis generator代码生成器的使用

    MyBatis Generator简介 MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器.它将为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码.它将内省数据库表(或许多表),并将生成可用于访问表的工件.这减少了设置对象和配置文件以与数据库表交互的初始麻烦.MBG寻求对简单CRUD(创建,检索,更新,删除)的大部分数据库操作产生重大影响.您仍然需要为连接查询或存储过程手动编写SQL和对象代码. MyBatis Gen

  • MyBatis Generator生成的$ sql是否存在注入风险详解

    目录 代理商sql注入问题排查 准备测试demo entity Product.java ProductExample.java 控制层ProductController.java service层 ProductService.java ProductServiceImpl.java mapper ProductController.java ProductController.xml 测试 测试1:正常逻辑测试 测试2:测试不存在的表字段 测试3:like注入测试1 测试3:like注入测试

  • Mybatis Generator 获取不到字段注释的解决

    目录 Mybatis Generator 获取不到字段注释 解决方法 Oracle 数据库 MySql 数据库 详解 mybatis-generator生成数据表中注释 1.克隆项目 2.修改pom文件 3.配置对应的解析生成包 Mybatis Generator 获取不到字段注释 环境限制,暂时只提供Oracle和Mysql的解决方法,其它数据库如果遇到同样问题,原理是一样的,具体就看该数据库应当去配置哪个属性. 解决方法 下面的配置均指的是Mybatis Generator 的配置文件(一般

  • 使用MyBatis-Generator如何自动生成映射文件

    目录 MyBatis-Generator自动生成映射文件 1.使用cmd命令方式生成 2.使用maven方式生成 3.如果开发工具为eclipse 自动生成MyBatis映射文件工具 问题 MyBatis-Generator自动生成映射文件 生成的方式一共有三种 1.使用cmd命令方式生成 首先在generator.xml中指定数据库驱动包位置,然后在mybatis-generator-core-1.3.1包下创建一个src文件夹(否则生成的文件没地方放) 生产的Mapper.xml文件与dom

  • Mybatis generator mapper文件覆盖原文件的示例代码

    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

  • mybatis-generator生成文件覆盖问题的解决

    目录 mybatis-generator生成文件覆盖 解决方案 mybatis-generator避免覆盖自定义的sql方法 mybatis-generator生成文件覆盖 在Idea中使用Mybatis-generator plugin时遇到的问题,我的mybatis配置到的DB的服务中,每次部署微服务时需要install db这个微服务,将其打成jar包,供其他服务引用. 可是发现,我每次install或者package时候,mybatis-generator都会随编译自动运行,导致工程中的

  • MyBatis Generator生成代码及使用方式详解

    为什么要有mybatis mybatis 是一个 Java 的 ORM 框架,ORM 的出现就是为了简化开发.最初的开发方式是业务逻辑和数据库查询逻辑是分开的,或者在程序中编写 sql 语句,或者调用 sql 存储过程.这样导致思维需要在语言逻辑和 sql 逻辑之间切换,导致开发效率低下.所以出现了一系列的 ORM 框架,ORM 框架将数据库表和 Java 对象对应起来,当操作数据库时,只需要操作对象的 Java 对象即可,例如设置几个 and 条件,只需要设置几个属性即可. 为什么要有myba

  • idea在用Mybatis时xml文件sql不提示解决办法(提示后背景颜色去除)

    目录 1.mapper.xml文件中的sql语句不提示 1.1 首先,alt+enter,出现如下窗口 1.2 其次是,本身为什么没有提示 2 .背景颜色去除 总结 1.mapper.xml文件中的sql语句不提示 1.1 首先,alt+enter,出现如下窗口 随后的窗口选择 这样在如下窗口中会增加一个update 双击点开后如下,一定注意这个地址是https 这样你就可以在update中有提示了,但是在其他标签中依然没有提示,如法炮制即可 有一个简单的方法,就是在local name中写sq

  • Mybatis Generator逆向工程的使用详细教程

    一.MyBatis Generator简介 MyBatis Generator(MBG)是MyBatis和iBATIS的代码生成器.它将为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码.它将审查数据库表(或许多表),并将生成可用于访问表的构件.这减少了设置对象和配置文件以与数据库表交互的初始麻烦.MBG寻求对简单CRUD(创建,检索,更新,删除)的大部分数据库操作产生重大影响.您仍然需要为连接查询或存储过程手动编写SQL和对象代码.MyBatis Generator将生

  • 解决myBatis generator逆向生成没有根据主键的select,update和delete问题

    一.配置逆向generatoe.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自动生成对应文件的实现方法

    使用Generator自动生成我们需要的bean dao mapper xml等文件的过程(没有借助eclipse等编辑工具直接命令提示符生成) 第一步:在E盘新建一个文件夹generator,在这文件夹下创建一个test文件夹用来存放生成的文件,在创建一个generator.xml的配置文件 第二步:导入需要的jar包 mybatis-generator-core-1.3.2.jar 和mysql-connector-java-5.1.28-bin.jar 第三步:编写generator.xm

  • 使用Mybatis Generator结合Ant脚本快速自动生成Model、Mapper等文件的方法

    MyBatis简介: MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 相关阅读:MyBatis入门学习教程(一)-MyBatis快速入门 使用过Mybatis的同学都知道,针对每一个项目中使用到的数据库表都需要建

随机推荐