多表联查时使用mybatis-plus的LambdaQueryWrapper 多表相连下实现条件查询
MyBatisPlus分页多表关联查询 - SegmentFault 思否
下面的都是单表,如果要在多表联查的基础上使用mybatis-plus提供的LambdaQueryWrapper等查询条件包裹器对象,参看上面的链接
总而言之,在service使用LambdaQueryWrapper拼接条件查询后,其中的关键 lambda执行方法需要执行我们自己在mapper接口定义的方法,然后在方法上使用注解引入自定义的sql语句 但是不需要写条件部分 即where部分——直接引用LambdaQueryWrapper对象给出的就行
public interface GameQueryMapper extends BaseMapper<GameQuery> {
String querySql = "SELECT a.*, b.org_id FROM t_game AS a LEFT JOIN t_game_game_org AS b ON b.game_id = a.id ";
String wrapperSql = "SELECT * from ( " + querySql + " ) AS q ${ew.customSqlSegment}";
/**
* 分页查询
*/
@Select(wrapperSql)
Page<GameQuery> page(Page page, @Param("ew") Wrapper queryWrapper);
/**
* 普通查询
*/
@Select(wrapperSql)
List<GameQuery> list(@Param("ew") Wrapper queryWrapper);
/**
* 单独查询
*/
@Select(wrapperSql)
QyyOrgQuery one(@Param("ew") Wrapper queryWrapper);
}
我个人的项目中的实际应用
service接口的方法
|
service实现类
|
mapper接口
|
本文作者:夏·舍
本文链接:https://www.cnblogs.com/BRSblackshoot/p/15367680.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
标签:
springboot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步