MP+XML手写sql语句分页查询

  • serviceImpl层 手写的查询方法queryBachRole,page必须作为参数传入,且返回值必须用IPage接收,如果后续想用list可以getRecords()

     Page<UserVO> page = new Page<>(query.getPageNo(), 2);
            IPage<UserVO> userVOIPage = getBaseMapper().queryBachRole(query, page);
            List<UserVO> userVOList = userVOIPage.getRecords();
  • mapper层

    返回值必须用Ipage接收,而且必须有@param指定

    IPage<UserVO> queryBachRole(@Param("query") UserPageQuery query, @Param("page") Page<UserVO> page);
  • XML层

    对应的每一个传来的query参数,必须用query.字段指定

    <where>
                <if test="query.state != null">
                    AND `user`.`status` = #{query.state}
                </if>
                <if test="query.userName != null and query.userName != ''">
                    AND `user`.username LIKE CONCAT('%', #{query.userName}, '%')
                </if>
                <if test="query.phone != null and query.phone != ''">
                    AND `user`.phone LIKE CONCAT('%', #{query.phone}, '%')
                </if>
            </where>
  •  

    附录优质文章:
    https://blog.csdn.net/m0_62317155/article/details/134256473
    https://blog.csdn.net/qq_33807380/article/details/136848053
  • 总结:还是pagehlper好用
    •   csdn参考地址:https://blog.csdn.net/qq_27480007/article/details/126181435
posted @ 2024-07-20 15:20  冷风5997  阅读(74)  评论(0)    收藏  举报