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

请问下老师mp在实际开发中 ,遇到多表关联查询 ,mp能实现这些功能吗,还是说直接用原生mybatis在xml中写sql更方便

就好像这种

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName


正在回答

3 回答

如果使用MP实现这些功能,可以参考我讲解的4-1和4-2章节,里面虽然我写的事单笔的,但是多表关联实现类似,你就写多表sql即可。

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

慕粉4385183 提问者

SELECT c.*, ct.team_name FROM cars c, cars_team ct WHERE c.car_team_company_id = 'xxxxxxxxxxx' and c.car_team_company_id = ct.id 老师这种sql能用mp 自定义sql及分页查询 吗
2019-10-11 回复 有任何疑惑可以回复我~

主要看你的使用场景,多表联查的情况下,要看你是否要使用MP提供的分页插件及是否使用MP的条件构造器,如果使用其中之一,可以用MP实现自定义sql的实现多表联查。如果不使用前面说的两者可以使用原生的方式。

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

慕粉4385183 提问者

好的 谢谢老师
2019-07-30 回复 有任何疑惑可以回复我~

SELECT

c.*,

ct.team_name 

FROM

cars c,

cars_team ct 

WHERE

c.car_team_company_id = 'xxxxxxxxxxx'

and

c.car_team_company_id = ct.id


老师这种sql能用mp 

自定义sql及分页查询

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

老猿

可以的,这种一般是要操作Cars实体类对应的mapper接口,在其中自定义方法,写自定义sql,然后在Cars实体类中增加teamName字段,并设置@TableField(exist = false)代表cars表不存在该字段,因为他是cars_team表的字段。使用条件构造器时,别忘了写别名,例如queryWrapper.eq("c.car_team_company_id","xxxxxxxxx").
2019-10-12 回复 有任何疑惑可以回复我~
#2

慕粉4385183 提问者 回复 老猿

可以的 谢谢老师
2019-10-15 回复 有任何疑惑可以回复我~
#3

老猿 回复 慕粉4385183 提问者

不用客气的同学。
2019-10-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问下老师mp在实际开发中 ,遇到多表关联查询 ,mp能实现这些功能吗,还是说直接用原生mybatis在xml中写sql更方便

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