登录
首页 >  数据库 >  MySQL

MyBatisPlus分页多表关联查询

来源:SegmentFault

时间:2023-01-26 19:33:10 132浏览 收藏

本篇文章给大家分享《MyBatisPlus分页多表关联查询》,覆盖了数据库的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

public interface GameQueryMapper extends BaseMapper {
    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 page(Page page, @Param("ew") Wrapper queryWrapper);

    /**
     * 普通查询
     */
    @Select(wrapperSql)
    List list(@Param("ew") Wrapper queryWrapper);

    /**
     * 单独查询
     */
    @Select(wrapperSql)
    QyyOrgQuery one(@Param("ew") Wrapper queryWrapper);
}

关键在于Sql字符串最后那一句

Page page(Page page, @Param("ew") Wrapper queryWrapper);

即使

GameQuery
这个对应多表关联字段的Pojo继承自
Game
,也会出现如下错误:

evaluating expression 'ew.customSqlSegment'. Cause: org.apache.ibatis.ognl.OgnlException: customSqlSegment [com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: can not find lambda cache for this entity

因此,多表关联分页查询的Mapper需要单独新建,与单表实例分开。

终于介绍完啦!小伙伴们,这篇关于《MyBatisPlus分页多表关联查询》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>