使用场景:
例如,使用pagehelper排序时,查询sql时会很慢,所以想要使用“createDate ”字段自定义排序row_id
直接上代码
public class MyPage extends PageManager{
}
MyPage page = new MyPage();
//count查询,返回一个查询语句的count数
long total = PageHelper.count(new ISelect() {
@Override
public void doSelect() {
mapper.queryList(page);
}
});
Page mypage = new Page(page.getPageNum(), page.getPageSize());
mypage.setTotal(total);
PageInfo<java.util.Map<String, String>> pageInfo = new PageInfo(mypage);
page.setSffy("1");//是否分页1是0否
pageInfo.setList(mapper.queryList(page));//这里是数据
SELECT * FROM (
select t.*
,row_number()over( order by t.createDate asc ) ROW_ID
from t_test t
)
<if test="sffy != null and sffy != ''.toString() and sffy == '1'.toString()">
WHERE ROW_ID <![CDATA[<=]]> (#{pageSize}*#{pageNum}) AND ROW_ID > ((#{pageNum}-1)*#{pageSize})
</if>