mybatis-plus多表联合分页查询简便方式
简单说明
相对应的jar包引入以及mybatisPlus的分页配置就不作赘述,相信搜相关话题的朋友应该基础都了解,如有朋友需要可评论或私信,我会加上!
此文章不作深入研究,仅限顺利执行。
代码部分
代码部分只需在mapper接口写方法,controller中调用即可。
下面开始吧!
mapper接口内方法
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; /** * @param page 分页对象 * @param wrapper 传参 * @return */ @Select("select a.*,b.* from table_A a join table_B b on a.BId=b.id ${ew.customSqlSegment}") List<实体类> pageList(Page page, @Param(Constants.WRAPPER) Wrapper wrapper);
以上部分你只需要修改两表联合查询的sql语句,参数部分不需要修改,留给Wrapper 对象自信添加。以及修改相对应的返回实体类。
controller @PostMapping("/list") public Object list(@RequestBody Params params) { Page<ArticleListedVo> page = new Page<>(params.getPageIndex(), params.getPageSize()); List<ArticleListedVo> resources = testMapper.pageList(page,new QueryWrapper<ArticleListedVo>()); page.setRecords(resources); return page; }
controller中只需调用上面mapper中的方法即可。把pageindex和pageSize放进page对象。需要注意的是,以上“实体类”需要根据你自己的实际情况进行修改。