如果有个 CRUD 工具会不会有兴趣用?

2021-04-15 14:18:48 +08:00
 iceteacover

公司自研一款基于 Mybatis-Generator 的 CRUD 代码生成工具,能够自动生成 Controller-Business-Service-Mapper 四层。生成各层的出入参数和转换类(基于 JSON )。

使用下来非常快,CRUD 几乎不用再添加新代码。

大多数 Java 程序员开发工作避免不了 CRUD,故打算花些时间开源,不知道会不会有人用以及是否有类似的开源产品。

约定数据库表结果必有 ID/DELETED/CREATED_AT/CREATED_BY/MODIFIED_AT/MODIFIED_BY 6 个字段,且 DELETED 字段类型同 ID 字段( bigint ),deleted=0 表示未删除,deleted=id 值表示删除。

PS:尝试过 Mybatis-Plus 和 单纯 Mybatis-Generetor,还是要写部分代码。 PPS:分层模型各有各的习惯和说法,但用 CRUD 工具后基本不在有争论,无形消弭。

3579 次点击
所在节点    Java
29 条回复
fy
2021-04-15 21:22:23 +08:00
@iceteacover 我真的计划这么搞,不过我是 python 实现的。但现在说起来自己用 python 的机会也不多了,主力是 ts 和 go
iceteacover
2021-04-16 08:17:57 +08:00
@fy 全栈牛逼,最近半年在公司写 react,感觉前端是很不一样的思维,有帮助。问下用 go 方便吗?要不要造轮子(目前主力 Java,有事实上的框架标准)?
huifer
2021-04-16 08:48:41 +08:00
mybatis 和 JPA 应该大差不差没必要太过于纠结使用谁,要说存在迁移数据库的话我可能选择 JPA 。mybatis 版本的 CRUD 插件也有 https://gitee.com/pychfarm_admin/crud @iceteacover
ychost
2021-04-16 09:43:50 +08:00
生成代码的一律拉黑,万一逻辑变复杂还是挺蛋疼的,最好是用 JPA 或者 Mybatis-Plus,tk.mybatis 之类的,隐藏细节,提供扩展性,
Kaiv2
2021-04-16 10:37:42 +08:00
https://github.com/JavaHello/erm-generator
一个简单的 dao 层工具,支持 sql 差异输出。
clf
2021-04-16 10:48:13 +08:00
Mybatis-Plus 的代码生成器生成 Service-Mapper 我觉得就够了……因为对外肯定是 VO 封装的。

要做进一步的统一管理,比如我设计的基类里就有 deleteFlag 、createTime 、updateTime 、id,四个字段,删除的时候用 MP 的逻辑删除配置,0L 是未删除,时间戳是已经删除。Time 字段都是用 MP 自带的注入方法注入。配置完一个 BaseModel 类后,其他全部的类继承它就好了。
fy
2021-04-17 21:41:09 +08:00
@iceteacover golang 写 web 的话感觉和 js 的 koa,或者是 python 的 flask 差不多,应该没 Java 那么系统化。轮子倒也不用怎么弄
iceteacover
2021-04-18 12:33:54 +08:00
@fy 谢谢
liian2019
2021-04-23 16:33:06 +08:00
我也写了一个 ,来应付公司统计代码量的问题

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

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

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

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

© 2021 V2EX