Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.sction.manager.database;
  
  import java.sql.ResultSet;
  import java.util.HashMap;
  import java.util.List;
  import java.util.Map;
  

Author(s):
作者 : sorc
Version:
创建时间:2012-3-31 上午11:47:10 类说明
 
 public class PaginationHelper<E> {
 	private static final Logger log = Logger.getLogger(PaginationHelper.class);
 
 	public CurrentPage<E> fetchPage(final JdbcTemplate jt,
 			final String sqlCountRowsfinal String sqlFetchRows,
 			final Object args[], final int pageNofinal int pageSize,
 			final ParameterizedRowMapper<E> rowMapper) {
 		.info("sqlCount:" + sqlCountRows);
 		.info("sqlPage:" + sqlFetchRows);
 		.info("pageNo:" + pageNo);
 		final int rowCount = jt.queryForInt(sqlCountRowsargs);
 		final CurrentPage<E> page = new CurrentPage<E>(pageNopageSize,
 				rowCount);
 		jt.query(sqlFetchRowsargsnew ResultSetExtractor() {
 			public Object extractData(ResultSet rsthrows SQLException,
 				final List<E> pageItems = page.getPageItems();
 				int currentRow = 0;
 				while (rs.next()
 						&& currentRow < page.getBeginRecordNum() + pageSize) {
 					if (currentRow >= page.getBeginRecordNum()) {
 						pageItems.add(rowMapper.mapRow(rscurrentRow));
 					}
 					currentRow++;
 				}
 				return page;
 			}
 		});
 		return page;
 	}
 
 	public static CurrentPage<Map<StringObject>> fetchPage(
 			final JdbcTemplate jtfinal String sqlCountRows,
 			final String sqlFetchRowsfinal Object args[], final int pageNo,
 			final int pageSize) {
 		.info("sqlCount:" + sqlCountRows);
 		.info("sqlPage:" + sqlFetchRows);
 		.info("pageNo:" + pageNo);
 		int rowCount = jt.queryForInt(sqlCountRowsargs);
 		final CurrentPage<Map<StringObject>> page = new CurrentPage<Map<StringObject>>(
 				pageNopageSizerowCount);
 
 		jt.query(sqlFetchRowsargsnew ResultSetExtractor() {
 			public Object extractData(ResultSet rsthrows SQLException,
 				final List<Map<StringObject>> pageItems = page.getPageItems();
 				int currentRow = 0;
 				ResultSetMetaData srmd = rs.getMetaData();
 				while (rs.next()
 						&& currentRow < page.getBeginRecordNum() + pageSize) {
 					if (currentRow >= page.getBeginRecordNum()) {
 						int i = srmd.getColumnCount();
 						Map<StringObjectmap = new HashMap<StringObject>();
 						while (i > 0) {
 							map.put(srmd.getColumnLabel(i), rs.getObject(i));
 							i--;
 						}
 						pageItems.add(map);
 					}
 					currentRow++;
 				}
 				return page;
 			}
 		});
 		return page;
 	}
 
 	@SuppressWarnings("unchecked")
 	public static CurrentPage<Map<StringObject>> fetchPageBySql(
 			final JdbcTemplate jtfinal String sqlCountRows,
 			final String sqlFetchRowsfinal Object args[], final int pageNo,
 			final int pageSize) {
 		.info("sqlCount:" + sqlCountRows);
 		.info("sqlPage:" + sqlFetchRows);
 		.info("pageNo:" + pageNo);
 		int rowCount = jt.queryForInt(sqlCountRowsargs);
 		final CurrentPage<Map<StringObject>> page = new CurrentPage<Map<StringObject>>(
 				pageNopageSizerowCount);
		page.setPageItems(jt.queryForList(sqlFetchRowsargs));
		return page;
	}
New to GrepCode? Check out our FAQ X