为了账号安全,请及时绑定邮箱和手机立即绑定

多表连接是不是只能写sql了?

老师我想问问  把数据库连接逻辑放到 业务层全部用单表查是不是更好(效率会不会更好)?2张表连接好像只能写sql了

正在回答

2 回答

同学,没明白你的意思,数据库连接逻辑怎么放到业务层?如果你整合springboot,数据库的连接是连接池给你维护的。分层的目的是为了逻辑清晰,易于扩展和维护。单表查询可以在业务层继承mp的通用service。它自己注入了dao层的mapper接口。两张表连接确实只能自己写sql。

1 回复 有任何疑惑可以回复我~
#1

慕先生2125063 提问者

老师 我打错字了 不是数据库连接 是sql多表连 我是这个意思
2020-02-16 回复 有任何疑惑可以回复我~
#2

老猿 回复 慕先生2125063 提问者

多表连接自己写sql即可。可以使用原生Mybatis的用法,或者我讲的MP的自定义sql的用法。你说的全部单表查,是要查询多次吗?那样效率并不一定比多表联查高。
2020-02-17 回复 有任何疑惑可以回复我~
#3

慕先生2125063 提问者 回复 老猿

老师 分多次查有什么不好么? 这样更利于索引和缓存使用吧? 但是分多次有种问题就是,如果涉及多表连接且分页这种 要分多次也不太好写。老师我还有个问题就是自定义sql 如果用条件构造器 ${ew.customSqlSegment}只是where 后面的条件字段,排序和分组是啥?
2020-02-18 回复 有任何疑惑可以回复我~
#4

老猿 回复 慕先生2125063 提问者

同学,多表联查也能使用到索引。如果分多次查询,就要向数据库多次发送sql,多次来回肯定是有时间开销的,这样的话,可能是一次查询消耗的时间更短。而且多次查询,你的失败风险是增加的,因为要保障所有查询都正确返回,你获得的数据才是正确的。
2020-02-21 回复 有任何疑惑可以回复我~
查看1条回复

两张表连接只能自己写sql吗?


1 回复 有任何疑惑可以回复我~
#1

老猿

是的,两张表连接只能自己写sql
2020-02-17 回复 有任何疑惑可以回复我~
#2

老猿

可以使用原生Mybatis的用法,或者我讲的MP的自定义sql的用法。
2020-02-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

多表连接是不是只能写sql了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信