Mybatis里SQL语句的分页

SQL语句中的分页。

首先在接口中定义,定义的时候是需要通过@Param注解来表示向mybatis里传入参数:

public interface GoodsInfoMapper extends IDaoHotel<GoodsInfo> {
      //定义一个方法,这个方法来表示分页的
    List<GoodsInfo> getlistbypage(@Param("startindex")Integer startindex,
                                  @Param("endindex")Integer endindex,
                                  @Param("goodsInfo")GoodsInfo goodsInfo);
}

紧接着在实体XML配置文件里写:

<!-- 带查询条件和分页的查询方法 -->
<select id="getlistbypage"  resultMap="goodsInfoLazyResultMap">
    select t.*
    from (select rownum as rnum, g.*
          from goodsinfo g
          where g.ifdelete='N'
     <if test="goodsInfo.goodstypeid!=null and goodsInfo.goodstypeid >0">
        and g.goodstypeid=#{goodsInfo.goodstypeid}
    </if>
    <if test="goodsInfo.commdityid!=null and goodsInfo.commdityid!=''">
        and g.commdityid=#{goodsInfo.commdityid}
    </if>
    <if test="goodsInfo.commdityname!=null and goodsInfo.commdityname!=''">
        and g.commdityname=#{goodsInfo.commdityname}
    </if> 
    )t
    <where>
        <if test="startindex!=null and startindex>0">
        <![CDATA[
           and t.rnum >=#{startindex}
        ]]>
        </if>
        <if test="endindex!=null and endindex>0">
          <![CDATA[
           and t.rnum <=#{endindex}
        ]]>
        </if>
    </where>
</select>
原文地址:https://www.cnblogs.com/ljljava/p/7440739.html