如果有个 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 工具后基本不在有争论,无形消弭。

3586 次点击
所在节点    Java
29 条回复
mlcq
2021-04-15 14:24:23 +08:00
没兴趣,你这个工具怎么解决连表的问题,要是不需要连表,mp 都能解决了,你这个意义何在呢
wolfie
2021-04-15 14:30:57 +08:00
这种代码生成挺多的,而且没难度。
lowic
2021-04-15 14:40:21 +08:00
如果只有比较基础的功能的话,mp 应该已经做的够好了
xlui
2021-04-15 14:50:03 +08:00
收益不是很明显,相反想用这个工具还被限定了数据库字段。

另外,关于分层,除非是从零新建的项目,不然分层还是按照原有的模式来,要不会被后边维护的人骂死。
est
2021-04-15 15:05:39 +08:00
你说的这种 「 CRUD 工具」 本质就是建立 RDBMS 视图

遇到视图不能解决的复杂逻辑,你的工具一样解决不了。
huifer
2021-04-15 15:19:14 +08:00
catchexception
2021-04-15 15:22:37 +08:00
多年没写过 CRUD 了。。。
hb0730
2021-04-15 15:22:39 +08:00
用 mp 自己在封装一下,从 controller 到 mapper 就都有了,在扩展一下 mp 的代码生成
fy
2021-04-15 15:23:10 +08:00
作为一个 crud 框架作者,我意识到框架越是工于设计,反而会带来越高的使用成本……所以我计划全部生成 json schema 一把梭了
yeqizhang
2021-04-15 15:31:15 +08:00
easy-code

然后自己写 groovy 模板也可以呀
gongym
2021-04-15 16:15:40 +08:00
yxx1993
2021-04-15 16:49:37 +08:00
Imindzzz
2021-04-15 17:15:18 +08:00
很难做到又通用又简单

有必要在自己公司小范围封装一个,推广开源我觉得没多大市场。
iceteacover
2021-04-15 19:08:14 +08:00
@mlcq 这个工具不能解决连表问题,多表合并成前端对象还需要手工写。 我现在一般不连表查,单表查完再走第二条 SQL,把 sql 的连表放在内存,表查询尽量简单。
iceteacover
2021-04-15 19:20:09 +08:00
@lowic mp 的确功能强大,但是有一个删除字段,只能用 0/1 或者 时间字段,我希望用 id 的 bigint,避免唯一索引和逻辑删除问题 https://cloud.tencent.com/developer/article/1531915 。这种逻辑如果写在自己的 crud 当中就很方便,相比较改造 mp 。
iceteacover
2021-04-15 19:21:21 +08:00
@fy 真的没有狗头在最后吗?大佬请不要放弃...
iceteacover
2021-04-15 19:22:55 +08:00
@xd199153 谢谢提点,公司内部用大概是最大价值,开源反倒能用的少。
iceteacover
2021-04-15 19:26:26 +08:00
@catchexception 恭喜脱离苦海
iceteacover
2021-04-15 19:30:48 +08:00
@gongym go 大佬你好,我还在 Java 里挣扎,顺带问下 Java 转 Go 需要补哪些知识,到可用程度一般学大概要多久(天资一般偏下,写了几年 Java )
iceteacover
2021-04-15 19:32:24 +08:00
@huifer jpa 大佬好,公司用 mybatis 惨。。。我看国外的程序员很多用 jpa,不知道为啥国内的几家公司都选择了 mybatis 。

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

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

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

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

© 2021 V2EX