目前我们项目中都是 Dao 层没有使用 MyBatis 的关联,是在 Service 层自己进行拼接,这样子若是有表关联的业务就进行多次数据库查询。
那你们的公司项目中会有用到 MyBatis 的关联的功能么?
开发效率或性能上,使用或不使用关联会有很大的区别么?
目前我们项目中都是 Dao 层没有使用 MyBatis 的关联,是在 Service 层自己进行拼接,这样子若是有表关联的业务就进行多次数据库查询。
那你们的公司项目中会有用到 MyBatis 的关联的功能么?
开发效率或性能上,使用或不使用关联会有很大的区别么?
|
loveCodingMay 20, 2019
1
不用,DBA 禁止...
|
|
2
大公司的时候 DBA 禁止,只能 Mybatis,小公司的时候外键用的飞起,hibernate 拯救了我
|
|
HonoSVMay 20, 2019
3
多次查数据库,不会有性能问题么
|
|
watzdsMay 20, 2019 via Android
4
某些时候多次查询,还有利于数据库缓存
|
|
lihongjie0209May 20, 2019
5
这样不挺好的吗? 会有什么问题?
|
|
night98May 20, 2019
6
建议查阅阿里 java 开发手册,不建议使用任何关联查询
|
|
7
这样的方式对缓存是十分友好的,缓存的性能很强,数据库通常是瓶颈
|
|
Jrue0011May 20, 2019 via iPhone
8
说成关联查询好像容易让有的人认为是 sql 的 join 了,其实 association 和 collection 是延迟调用查询方法…
|
|
10
我们用 hibernate,推荐使用关联映射, 做好了还是比较爽的
|
|
TakamineMay 20, 2019
11
表示要求拆分成多次查询,用 BO 和 VO 去做拼接:doge:。
|
|
loveCodingMay 21, 2019 via iPhone
12
@HonoSV 那就避免多次查询,比如 list 转 map 给下层,或者用 guava cache 自动刷新
|