开源一款 IDEA 下 Mybatis 代码生成插件——Yobatis。

2018-11-11 15:07:13 +08:00
 linbiaye

这是一款基于 MybatisGenerator 的插件,我们已经在生产环境使用了快一年了。封装后,使得配置 /使用更简单,表结构发生变更以后只需要重新生成即可,Yobatis 会根据变更自动添加 /删除字段。只需要如下图配置一下就可以为 mysql 表生成代码:

代码生成前:


代码生成后:

项目地址: https://github.com/linbaiye/yobatis
详细介绍: https://linbaiye.github.io/yobatis-tour/

7541 次点击
所在节点    Java
20 条回复
wangcansun
2018-11-11 17:27:56 +08:00
点个赞,以前做 Java 开发的时候也使用过国人开发的一款 mybatis 的插件,挺好用的
qiyuey
2018-11-11 17:41:48 +08:00
考虑支持注解吗
choice4
2018-11-11 18:20:18 +08:00
请问有 xml 跳转吗?
heirenhua
2018-11-11 18:21:48 +08:00
支持
linbiaye
2018-11-11 19:42:14 +08:00
@choice4 支持 java 和 xml 之间跳转的。
linbiaye
2018-11-11 19:44:21 +08:00
@qiyuey 注解的问题在于处理动态 sql 比较乏力,比如用 xml 的:
```
List<Employee> list = employeeDao.selectList(EmployeeCriteria.nameEqualTo("Alice").andPhoneIsNotNull());
```
以及
```
List<Employee> list = employeeDao.selectList(EmployeeCriteria.idIsNotNull());
```
用注解就需要 2 个方法,写 2 个 sql.
q397064399
2018-11-12 06:58:50 +08:00
idea 的插件开发有没有 好的参考文档,官方那个文档有点玄乎
EXChen
2018-11-12 08:15:57 +08:00
有空试一下。
gejun123456
2018-11-12 09:29:15 +08:00
棒,我的插件也支持 https://github.com/gejun123456/MyBatisCodeHelper-Pro 可以试试

github 上传的代码 貌似是 js 的,没看到 java 代码。
linbiaye
2018-11-12 09:33:14 +08:00
@q397064399 唔,他们家的已经算是很好了。我就是官方文档+论坛跟着来做,eclipse 才是入门到放弃。。
linbiaye
2018-11-12 09:36:04 +08:00
@gejun123456 就在旁边 yobatis-idea 下
linbiaye
2018-11-12 09:39:41 +08:00
@EXChen 欢迎试用,核心其实还是 Mybatis-Generator,已经在我们生产用了一年了。
gmywq0392
2018-11-12 10:49:13 +08:00
支持。另外,插件可用吗?如果要生成 Lombok 那样的 entity 呢?
linbiaye
2018-11-12 11:18:26 +08:00
@gmywq0392 可能要能用才开源呀。暂时不支持 Lombok 那样,entity 里面就只有 getter setter
snipersong
2018-11-12 14:59:06 +08:00
mark
qiyuey
2018-11-13 13:46:41 +08:00
@linbiaye 注解的优势在于可读性和内聚性,动态 SQL 的场景并不多,有 script 和 provider 也完全可以支撑
linbiaye
2018-11-13 15:45:04 +08:00
@qiyuey 那暂时不支持哦。一些简单的操作是可以用注解,但是复杂的写在注解里面是没法看的, 我们更倾向于 xml 是因为 xml 里面读起来更直观,更连贯; provider 里面调用各种方法去拼接比较影响阅读。另外新同学觉得学习成本更低。
qiyuey
2018-11-13 15:59:11 +08:00
@linbiaye 我感觉注解更直观
choice4
2018-11-13 19:27:02 +08:00
似乎并不支持 java, xml 跳转 idea 18.2.5, yobatis 2.13
linbiaye
2018-11-13 19:35:24 +08:00
@choice4 请问下是在生成的 interface 旁边没有跳转么? java 和 xml 的跳转开生成的 interface 文件或者 xml 文件才能开到。

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

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

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

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

© 2021 V2EX