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>