请假大佬们一个 sql 相关问题

2019-12-06 10:40:26 +08:00
 maxrui

麻烦请教大佬们一个小问题: 通用 mapper、 jpa、 mybatis-plus、 mybatis 逆向工程。 这四个都可以用方法代替 sql 语句,请问有什么区别优缺点在哪,工作常用那个呢?或是为了可以优化,使用手写吗。

4793 次点击
所在节点    MySQL
17 条回复
maxrui
2019-12-06 10:42:01 +08:00
选择多了,就不知道要重点学哪一个了。很困惑,有什么区别啊(万分感谢,本人菜鸡)
gz911122
2019-12-06 10:52:20 +08:00
逆向工程什么意思?
反编译吗?
dreamerlv3ex
2019-12-06 11:01:26 +08:00
你很棒棒哦,过来给你两棒棒.
zpf124
2019-12-06 11:08:52 +08:00
@gz911122
不知道是不是只有 JAVA 的 ORM 有这个说法。
逆向工程指的就是 在没有库表的情况下,通过代码可以生成项目的库表。
avk458
2019-12-06 11:18:00 +08:00
难道不是先了解这几个的特性再根据实际业务来选择吗
taogen
2019-12-06 11:59:46 +08:00
自己搭项目:哪个顺手用哪个。负责模块开发:按照统一规范要求即可。
zunceng
2019-12-06 14:23:23 +08:00
没啥好学的 用过会用就行了
CRUD 的代码按规定的来 统一比什么都好
U87
2019-12-06 14:25:57 +08:00
@zpf124 这个不就数据迁移吗
Vegetable
2019-12-06 14:30:40 +08:00
我有点好奇,为什么 generator 能翻译成逆向工程?
zixiaoguan
2019-12-06 14:35:14 +08:00
小白就是小白,那些工具哪有替代 SQL 语句了啊。哪有啥优劣,简单点用 JPA,复杂点用 mybatis
zpf124
2019-12-06 14:54:58 +08:00
@U87
@Vegetable

我忘了是从数据库自动生成 dao 叫反向了,还是从 dao 到数据库是反向,反正一个当时叫正向一个叫反向。反正是 Struts hibernate 火爆的时候流行的一个说法。主要是说设计阶段是设计数据库还是设计 JavaBean,两种之间哪个是设计创建出来的哪个是根据另一个通过代码自动生成的。
Jianrry
2019-12-06 14:55:58 +08:00
我只用过“mybatis 逆向工程”,说一下我的感受

优点:

1.可以一次性生成 javabean,dao,mapper,极大地减少了工作量,节约了大量时间

2.生成的 mapper 里面的 sql 语句还进行了优化,至少写得比我好

缺点:

1.重新生成的文件会覆盖旧文件,比如说 javabean 里面的非数据库字段需要重新写。我的做法是将数据库里面的表全部创建完毕之后,一次性生成文件

2.需要额外导入 jar 包,需要额外的 xml 配置文件

暂时只想到这么多,下次再补充
Jianrry
2019-12-06 15:01:06 +08:00
在 github 上分别找一个 demo,都下载下来,体验一下就知道了。

重点学习一个就行了,其他的只需要了解。如果工作上用到了,再来学习就行了。
dongeast52123
2019-12-06 15:11:29 +08:00
都差不多吧,哪个顺手用哪个。
mosesyou
2019-12-06 16:01:16 +08:00
自己开发喜欢用 jpa,多人合作项目都是 mybatis 或者 mybatis-plus 之类的。。。
Raymon111111
2019-12-06 16:12:47 +08:00
啥叫逆向工程?

正确答案是跟着团队用
maxrui
2019-12-06 16:35:02 +08:00
感谢各位大佬的赐教

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

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

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

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

© 2021 V2EX