MENU
// //

Mybatis-Plus整合分页与自定义SQL

December 29, 2023 • 技术分享

有学弟问我:小智小智 MP怎么使用自定义的sql和page分页呀?之前一直是使用MP默认的selectPage,遇到这种情况就懵了。

接下来我们直接上代码
后续会出一版MybatisPlus分页原理的教程 跟着小智一起学习吧

  • Mapper代码
    //xml 文件
    <select id="findUser" resultType="UserVo">
            SELECT * FROM sys_user
    </select>

    //Mapper接口定义方法
    IPage<VioStatisticsRespVO> findUser(@Param("page") IPage<UserResponse> page, @Param("UserVo") UserVo userVo);
  • Service代码
    public PageResult<UserResponse> findUser(UserVo userVo) {
        Page<UserResponse> page = new Page<>(userVo.getPageNo(), userVo.getPageSize());
        mapper.findUser(page,userVo);
        return new PageResult<>(page.getRecords(), page.getTotal());
    }
  • Controller
    public PageResult<UserResponse> findUser(UserVo userVo) {
        return service.findUser(page,userVo);
    }