为了账号安全,请及时绑定邮箱和手机立即绑定
关注
qq_慕丝3367668

连表查询如何区分条件

老师 LambdaQueryWrapper构造器如何写两个T的条件构造啊,比如我连表之后 A表人员表 条件是姓名的模糊查询,连表B部门表,B表的某一字段(比如行政部门or智能部门)这种该如何写啊

2020-04-22 源自:MyBatis-Plus入门 4-2 618 浏览 4 回答

两个表连表查询的话,使用LambdaQueryWrapper可能会有问题,如果两个表中有同名字段,LambdaQueryWrapper是无法使用别名的。如果使用普通的QueryWrapper,你是可以指定别名的,例如:qw.eq("e.name","ww")

2020-04-23
0

老猿

连表的语句你可以正常写,最后使用${ew.customSqlSegment}
#1 2020-04-23

用xml 或者select注解自定义sql1我知道可以实现 

请问用这种构造器的形式
http://img2.sycdn.imooc.com/5e9fbeb60001b65806830071.jpg

2020-04-22
0

QueryWrapper<Map<String, Object>> eq = new QueryWrapper<Map<String,Object>>();

eq.like("a.name","王").eq("b.labelname","业务骨干");

Page<Map<String, Object>> page = new Page<Map<String, Object>>(2, 15);

// Page<Userinfo> page = new Page<Userinfo>(2, 15,false); //洞听实例

IPage<Map<String, Object>> iPage = UserinfoMapper.selectLeftjoin(page, eq);

System.out.println("总页数:"+iPage.getPages());

System.out.println("总记录数:"+iPage.getTotal());

List<Map<String, Object>> selectList = iPage.getRecords();

selectList.forEach(System.out::println);

IPage<Map<String, Object>> selectLeftjoin(Page<Map<String, Object>> page, QueryWrapper<Map<String, Object>> eq);

<select id="selectLeftjoin"  resultType="java.util.HashMap">

select * from userinfo a left join label b ${ew.customSqlSegment}

</select>


2020-04-23
0

老师这么写不对么

2020-04-23
0

qq_慕丝3367668 (提问者)

感谢老师 我在后面的课程看到了老师关于这类问题的回答。
#1 2020-04-23

老猿

哦哦,找到答案了就好。
#2 2020-04-28

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信