这篇文章主要介绍“mybatisplus怎么在xml的连表查询中使用queryWrapper”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mybatisplus怎么在xml的连表查询中使用queryWrapper”文章能帮助大家解决问题。
在xml的连表查询使用queryWrapper
在mapper接口中定义方法
List<Map<String,Object>> linkUserAndDept(@Param("ew1") Wrapper<User> wrapper1, @Param("ew2") Wrapper<Dept> wrapper2);
在mapper xml中
<select id="linkUserAndDept" resultType="java.util.Map">
select u.name,u.age,u.address,d.* from user u left join dept d on u.deptid = d.deptid
<where>
<trim prefixOverrides="AND">
<if test="ew1!=null and ew1.sqlSegment!=null and ew1.sqlSegment != ''">
AND ${ew1.sqlSegment}
</if>
<if test="ew2!=null and ew2.sqlSegment!=null and ew2.sqlSegment != ''">
AND ${ew2.sqlSegment}
</if>
</trim>
</where>
</select>
调用该方法
QueryWrapper<User> userWrapper = Wrappers.<User>query();
QueryWrapper<Dept> deptWrapper = Wrappers.<Dept>query();
userWrapper.eq("u.name","张三");
userWrapper.setParamAlias("ew1"); //这里要设置别名,不然会报异常
/*deptWrapper.eq("d.deptname","开发部");
deptWrapper.setParamAlias("ew2");*/
List<Map<String, Object>> map = userMapper.linkUserAndDept(userWrapper,deptWrapper);
mapper.xml 配合queryWrapper写法
mapper中的接口这么写
IPage selectPosts(Page page, @Param(Constants.WRAPPER) QueryWrapper wrapper);
xml中${ew.customSqlSegment}
就是querywrapper的条件
select * from user_collection ${ew.customSqlSegment}
关于“mybatisplus怎么在xml的连表查询中使用queryWrapper”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注天达云行业资讯频道,小编每天都会为大家更新不同的知识点。