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使用Wrapper实现条件查询功能
- mybatis-plus自带QueryWrapper自定义sql实现复杂查询实例详解
- Mybatis-plus动态条件查询QueryWrapper的使用案例
- MyBatisPlus-QueryWrapper多条件查询及修改方式
- mybatisplus where QueryWrapper加括号嵌套查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)
- mybatis-plus QueryWrapper自定义查询条件的实现
- 详解MyBatis-Plus Wrapper条件构造器查询大全
- Mybatis Plus Wrapper查询某几列的方法实现