MP加手写xml的sql语句分页查询

  • 原则是让Ipage接收你查询出来的值

    •  serviceImpl层
      • 注入了  userMapper
    @Override
    public PageDTO<UserVO> pageUser(UserPageQuery query) {
        IPage<UserVO> page = new Page<>(query.getPageNo(),2);
        page = userMapper.PageAndXml(query,page);
        List<UserVO> list = page.getRecords();
        return PageDTO.of((Page<?>) page,list);
    }
  • mapper层
  • IPage<UserVO>  PageAndXml(@Param("query") UserPageQuery query,@Param("page") IPage<UserVO> page);
  • XML层
  • <select id="PageAndXml" resultType="com.hmall.user.domain.vo.UserVO">
        SELECT
        <include refid="hmUser"/>
        FROM `hm-user`.`user` hu
        LEFT JOIN `hm-risk`.`risk_status` hr ON hu.id = hr.user_id
        LEFT JOIN `hm-user`.`user_role` hro ON hu.id = hro.user_id
        LEFT JOIN `hm-user`.`role` r ON hro.user_id = r.id
        <where>
            <if test="query.riskStatus != null and query.riskStatus!=''">
                hr.status = #{query.riskStatus}
            </if>
            <if test="query.status != null and query.status!=''">
                hu.status=#{query.status};
            </if>
        </where>
    </select>

     

     

posted @ 2024-07-20 15:11  冷风5997  阅读(22)  评论(0)    收藏  举报