MyBatis 的 Mapper 支持继承么?或者类似的解决方案

2018-03-22 14:31:49 +08:00
 odirus

背景:

本想使用 hibernate,但以后查询会很复杂,不太方便,而且入门成本颇高(高阶部分),所以现在使用的 MyBatis Generator 插件,自动生成一些常用的方法

问题: 有时候数据库模型会稍微有些变动,所以我希望生成的文件放到一边(包括 model、dao、mapper ),其中 model、dao 可以通过继承的方式添加新功能,也不破坏生成的文件。。。但 mapper 貌似不行(我查过官方的 issue ),有没有什么类似的解决方案呢?

目的就是生成出来的东西就放那里,别动了,以后重新生成的时候覆盖即可。

4144 次点击
所在节点    问与答
8 条回复
odirus
2018-03-22 14:35:04 +08:00
咦,貌似在其他 issue 发现了这个隐藏功能,先试试看
zorui
2018-03-22 14:40:51 +08:00
可以的,mapper 可以继承的 。。使用 Generator 生成的去继承你需要拓展的 mapper,对应的 mapper xml 文件可以通过写入相同的 namespace 实现。
CFO
2018-03-22 14:43:09 +08:00
我用注解方式自动生成的 mapper 以及添加的功能就是写在自己继承的 mapper 里
zorui
2018-03-22 14:43:17 +08:00
可以参考一下我的这个项目 https://github.com/zhou7rui/ssm-demo
odirus
2018-03-22 14:44:38 +08:00
@zorui #2
@CFO #3

感谢 V 友
night98
2018-03-22 18:42:46 +08:00
mybatisplus 了解一下,我记得生成时可以指定父类
odirus
2018-03-22 18:47:35 +08:00
@night98 #6 好的,谢谢
gejun123456
2018-03-22 18:53:35 +08:00
https://github.com/gejun123456/MyBatisCodeHelper-Pro 插件用 mybatis generator 可以不覆盖 mapper 文件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/440429

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX