用来 curd 的代码生成器有很多,我觉得有以下问题比较难解决:
很多业务逻辑需要在 curd 之外做一点修改,比如加一个参数校验,在完成后做一些后置操作,或者满足某种条件才可以进行,甚至于多表事务。很难预留出灵活的插口。
如果进行了一定程度的修改,再跑一次会覆盖掉修改的代码。其实我想表达的意思是这些修改后的代码往往就不再具备创建时的结构性的,不利于后续的拓展。
你们有接触过比较好的工具吗,或者一些 web 框架自带 /第三方生成器也可以作为参考。
1
maichael 2020-03-10 10:39:16 +08:00
人肉生成器
|
3
zhaorunze 2020-03-10 10:46:47 +08:00 1
封装,借助 mybatis-plus,单表增删改查文件不需要新建,sql 语句不需要自己写
|
4
lhx2008 2020-03-10 10:49:18 +08:00
业务逻辑也能生成?如果楼主说的是 mybatis 那种,用个真正的 ORM 框架就可以了
|
5
aaaafei 2020-03-10 10:57:10 +08:00
一个鼻子,两个眼睛,一张嘴,两只手,大概像个人样
|
6
vevlins OP 作为一个兼职做管理端后台的前端,没学过 java,现在都是用 go,看来从生态上 go 落后 java 好几个年代
|
7
967182 2020-03-10 11:04:04 +08:00
能不能生成五彩斑斓的黑啊?不能就不算好 [狗头]
|
8
ggicci 2020-03-10 11:09:46 +08:00
让产品经理写接口文档,然后从接口文档生成代码。
|
9
codeloster 2020-03-10 11:11:48 +08:00
小爱同学,生成注册表单,详情参考某某网站
|
10
baobao1270 2020-03-10 11:16:23 +08:00
class BaseController{
function Create(args){ Model.Create(args) } function Update(args){ Model.Update(args) } function Read(args){ Model.Read(args) } function Delete(args){ Model.Delete(args) } } (开个玩笑,别当真) |
11
leechen 2020-03-10 11:23:50 +08:00
为什么要生成代码,直接生成接口不是很好么~~~~~taiwutech.com
|
12
guxingke 2020-03-10 11:25:23 +08:00
生成的代码需要有扩展点 , 提供默认的扩展实现, 但是允许开发者扩展.
func dosomething(args) { // pre hook doSomethingHook.preHook(args) { generate biz code. } // post hook doSomethingHook.postHook(args) } |
13
zjsxwc 2020-03-10 11:26:21 +08:00
参考各种语言的 web admin 框架
|
14
ericls 2020-03-10 11:57:02 +08:00 via iPhone
应该不生成代码。生成代码 你维护吗? 就算别人改了你也能维护吗?
|
15
nl101531 2020-03-10 12:18:53 +08:00
我来帮你写个 JB 插件吧。。。话说有的话,你愿意付费吗?
|
16
lululau 2020-03-10 12:24:02 +08:00
Rails ActiveRecord 这样的吧
|
18
liukangxu 2020-03-10 14:47:59 +08:00
Bond -> Logic -> Service
在 Bond 中用注释控制是否生成对应 CURD Logic 和 Service |
19
lidashuang 2020-03-10 14:56:06 +08:00
rails
|
20
passerbytiny 2020-03-10 15:01:56 +08:00
curd 生成器无所谓好坏,因为它总是坏的,原因你自己都分析出来了。
curd 生成器并不是 Java 的亮点,而是污点,不要羡慕。 |
21
jzmws 2020-03-10 15:11:56 +08:00
这个没有好坏的, 只有改到适合自己的 . 这个拿来主义是不现实的!
|
22
DelayNoMay 2020-03-10 16:01:21 +08:00
未来人工智能写代码,靠你了
|
23
dany813 2020-03-10 16:15:49 +08:00
确实没特别好用的
|
24
hnbcinfo 2020-03-10 16:54:43 +08:00
C#开发语言的话,可以使用 T4 模板。
|
25
myidea 2020-03-10 18:47:19 +08:00
试一下 [diboot devtools]( https://github.com/dibo-software/diboot-v2) 吧,基础代码可以灵活扩展,生成代码不会覆盖你的自定义代码。
|
26
msg7086 2020-03-11 08:16:36 +08:00
遇事不决看看 Rails。
|
27
wuhhhh 2020-03-11 11:47:07 +08:00
我
|
28
Michaelssss 2020-03-11 12:17:06 +08:00 via Android
6000 一个月,六线城市找个码农
|
29
bnm965321 2020-03-11 15:00:30 +08:00
Django Rest Framework
OO 编程教科书 |
30
purensong 2020-03-11 16:12:55 +08:00
作为一个 java 开发,说下自己的体会。
我一般习惯用 mybatis-generator 插件生成 dao,官方的确实需要修改才能满足需求,我一般统一改成 crud 的样子是三个方法 selective(Object o); save(Object o); delete(Object o); 在写 SQL 的时候,把全部参数的判断都加上,不为空就加上,在使用的时候都是对象传入。 |