最近研究了下ibatis支持的物理分页,貌似大家都爱好物理分页,对逻辑分页不怎么看好,主要是由于数据量很大的时候,逻辑分页太耗时间啦,物理分页充分发挥其作用,其实在大多数情况下(90%)都是用的物理分页。
ibatis 带有专门的分页执行器,只要继承该sql执行器---> com.ibatis.sqlmap.engine.execution.SqlExecutor 就
可以实现分页了。废话不多说,直接上代码
下面是ibatis的SQL执行器代码
现在定义数据库方言:
方言的实现类(本例以mysql为例):
通过以上3个类就可以实现ibatis的物理分页,在执行 查询的时候调用 List<ProductModel> lst = sqlMapClient.queryForList("pv_product_info.queryProduct", param, skipResults, maxResults);
param :查询条件
skipResults: 查询的起始位置
maxResults:每页显示的行数
注: 转载请附上原文链接,谢谢