下面是我用到Spring jdbctemplate 方式实现自定义分页的详细步骤:
步骤一创建SplitPageResultSetExtractor 类:
package com.utils;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.ResultSetExtractor;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.util.Assert;
public class SplitPageResultSetExtractor implements ResultSetExtractor {
private final int startIndex;// 起始行号
private final int pageSize;// 每页记录数
private final RowMapper rowMapper;// 行包装器
public SplitPageResultSetExtractor(RowMapper rowMapper, int startIndex, int pageSize) {
Assert.notNull(rowMapper, "RowMapper is required");
this.rowMapper = rowMapper;
this.startIndex = startIndex;
this.pageSize = pageSize;
}
/**
* 处理结果集合,被接口自动调用,该类外边不应该调用
*/
public Object extractData(ResultSet rs) throws SQLException,
DataAccessException {
List result = new ArrayList();
rs.first();
rs.relative(startIndex-1);
int count=0;
while (rs.next()) {
count++;
result.add(this.rowMapper.mapRow(rs, startIndex+count)); <