在sql语句中进行分页查询,数据量大的时候可以提高查询效率
简单举个例子
<select id="id名">
select a.ID,a.ProductID,ROW_NUMBER() OVER(ORDER BY ID ASC) AS Row1
FROM 表 a left join 表 b on a.ProductID=b.ProductID
<dynamic prepend="where">
<isNotEqual prepend = "and" property ="ProductID" compareValue = "0">
a.ProductID = #ProductID#
</isNotEqual>
@*中间为多个where条件*@
</dynamic>
<isNotEqual property="PageSize" compareValue="0">
ORDER BY Row1 OFFSET #Skip# ROWS FETCH NEXT #PageSize# ROWS ONLY
</isNotEqual>
</select>
skip=(当前页-1)*pagesize 在后端设置
offset用于指定跳过多少行(查询的数据条数)