5.20 mybatis反向生成的映射文件xml(如果需要自己定义其他sql语句时如下)
解决mybatis-generator 生成的mapper.xml覆盖自定义sql的问题
mybatis-generator是个好工具,一建即可生成基本增删改成功能的mapper.xml。但这些是不够的,需要自己往mapper.xml里面添加一些sql来满足需求。不过,后期修改表结构的时候就麻烦了,mybatis-generator生成的mapper.xml会与自己自定义的sql相混杂,改动相当麻烦。
解决方式很简单,使用mybatis-generator生成的mapper.xml就不要去改动里面的代码,自己需要添加sql则需要新建一个mapper_extends.xml 里面的<mappernamespace="">保持一致即可。
比如我使用mybatis-generator生成了UserMapper.xml,添加一个UserExtendsMapper.xml,UserExtendsMapper.xml的<mapper namespace="" >需要与UserMapper.xml相同,将额外的sql加到UserExtendsMapper.xml,UserMapper.xml就不要改动了,后期表添加字段的话,就不会影响到UserExtendsMapper.xml。
如果网友有更好的解决方案,请多多指教!
湿气重专家:湿气重?早晚喝点它,快速逼出体内十年湿气,越喝越漂亮!
豫用 · 猎媒
shaft_V
shaft_V: 多谢.首先保证 自动生成的mapper xml 可以curd. 然后 新建一个UserExtMapper,在里面写自定义的方法, 让自动生成的UserMapper 去 extends 自己创建的 UserExtMapper; 然后 复制UserMapper.xml;删掉里面的sql语句,保留开头和结尾(resultMap) 但是 <mapper namespace="com.east.ext.UserMapperExt"> 这个地方是新生成的. 能运行成功,实际service里还是用userMapper进行操作. 不过 如果userMapper 已经继承了BaseMapper通用mapper 那我就不知道该怎么做了..(1个月前#5楼)收起回复
shaft_V
shaft_V回复 NameToJune: interface UserMapper extends UserExtMapper; UserServiceImpl里还是用UserMapper, 新添加自定义的方法全放到UserExtMapper里,具体sql放到UserExtMapper.xml里 重新生成xml model 时就不担心覆盖自己的东西了. 但在用mybatis plus 感觉不知道怎么实现这种情况.(1个月前)
jkopop123
NameToJune回复 shaft_V: 都是爬山人,我没能看明白你想表达的。(1个月前)
shaft_V
shaft_V回复 NameToJune: 哈哈,请先生教我(1个月前)
jkopop123
NameToJune回复 shaft_V: 你成功看晕了我(1个月前)
---------------------
作者:广铁小多多
来源:CSDN
原文:https://blog.csdn.net/zdb1314/article/details/79256128
版权声明:本文为博主原创文章,转载请附上博文链接!
5.20 mybatis反向生成的映射文件xml(如果需要自己定义其他sql语句时如下)的更多相关文章
- mybatis 反向生成步骤
Mybatis 反向生成. 反向生成的步骤: 反向生成的文件 打开文件夹显示 3.打开generator.xml文件 更改配置信息 路径一般情况下用英文 中文的路径有些会识别不了 或产生乱码 4 ...
- MyBatis 源码分析 - 映射文件解析过程
1.简介 在上一篇文章中,我详细分析了 MyBatis 配置文件的解析过程.由于上一篇文章的篇幅比较大,加之映射文件解析过程也比较复杂的原因.所以我将映射文件解析过程的分析内容从上一篇文章中抽取出来, ...
- 命令+mybatis-generator插件自己主动生成Mapper映射文件
学mybatis的时候,自己写各种 *Mapper.xml和 *Mapper.java,注意各种sql语句中的 id 是否匹配.xml中的namespace是否正确,非常麻烦有木有?今天博客内容就是高 ...
- 用MyGeneration模板生成NHibernate映射文件和关系
用我的MyGeneration模板生成NHibernate映射文件和关系(one-to-one,one-to-many,many-to-many) MyGeneration的几个NHibernate模 ...
- 用MyEclipse自动生成hibernate映射文件和实体类
创建数据库,创建相应的表 点击图标,选择MyEclipse Datebase Explorer 右击空白区域,选择new菜单,根据提示创建数据库连接,创建好后会显示你所创建的连接名,如图mysqldb ...
- mybatis映射文件select_resultMap_关联查询_collection定义关联集合
知识点:查询一个实体类,并查出这个类下面的集合 Employee.java实体类 package com.hand.mybatis.bean;public class Employee { pr ...
- 生成 hibernate 映射文件和实体类
创建web工程,使用Hibernate的时候,在工程里一个一个创建实体类太麻烦,浪费时间,现在教大家如何用MyEclipse自动生成Hibernate映射文件及实体类 方法/步骤 创建数据库,创建 ...
- 小学生之使用Mybatis反向生成dao,entity,xml
本小学生刚进公司的时候,就一顿装逼,不管别人问我啥我都会说:"会"!毕竟在公司吗,什么都要装,不要别人看出你的底细.不过有一天,听说用Mybatis可以反向生成dao(第一次听说) ...
- 深入浅出Mybatis系列七-mapper映射文件配置之insert、update、delete
注:本文转载自南轲梦 注:博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 上篇文章<深入浅出Mybatis系列(六)---objectFactory.p ...
随机推荐
- JAVA如何获得数据库的字段及字段类型
Java获取数据库的表中各字段的字段名,代码如下: import java.sql.Connection;import java.sql.DriverManager;import java.sql.R ...
- MarkDown 语法及使用
MarkDown #什么是Markdown - 定义 - markdown 是一款轻量级标记语言,功能没有HTML标记语言那么强大 ,Markdown专注书写! #试用人群: 程序员/等计算机爱好者 ...
- CA认证相关
目录 CA认证相关 基本概念 CA认证相关 公钥私钥详解>> 基本概念 密钥对: 在非对称的加密技术中心, 有两种密钥, 分为私钥和公钥,私钥 --RSA算法-->公钥. 公钥: 公 ...
- 一个电商项目的Web服务化改造
一个电商项目的Web服务化改造 项目,早期是随便瞎做的,没啥架构,连基本的设计也没. 有需求,实现需求,再反复修改. 大致就是这么做的. 最近,项目要重新架构,和某boss协商的结果是,采用阿里开源的 ...
- Jzzhu and Numbers
Jzzhu and Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- 学习笔记——TCP“三次握手”和“四次挥手”,简单介绍
TCP/IP协议中,TCP协议提供可靠的连接服务,采用“三次握手”建立一个连接. (1)第一次握手:客户端发送SYN包(SYN=j)到服务器,并进入SYN_SEND状态,等待服务器确认. (2)第二次 ...
- 种树(codevs 1768)
题目描述 Description 为了绿化乡村,H村积极响应号召,开始种树了. H村里有n幢房屋,这些屋子的排列顺序很有特点,在一条直线上.于是方便起见,我们给它们标上1~n.树就种在房子前面的空地上 ...
- WeX5 IDE 手机移动开发+JAVA +大数据
http://www.wex5.com/wex5/?qb360=wex501=3534 前端技术 HTML,CSS,JavaScript,EasyUI,Jquery,HTML5,CSS3,Jquery ...
- dba 和 rdba 转载
一. DB(Data block) A data block is the smallest unit of storage in an Oracle database. Every datab ...
- Android LaunchAnyWhere (Google Bug 7699048)漏洞具体解释及防御措施
開始 近日,Google修复一个组件安全的漏洞LaunchAnyWhere(Google Bug 7699048). 这个漏洞属于Intend Based提取漏洞,攻击者利用这个漏洞,能够突破了应用间 ...