`

jdbcTemplate分页

阅读更多
public Page getNameByEndate() {
		Object[] objects = new Object[] {};
		String sql = "select a.name from 1ARCHIVES a where a.remove_id='1' and a.position='1' order by a.enddate desc";
		return this.unpayNameDao.queryForPage(sql, 1, 16, objects);
	}

return this.unpayNameDao.queryForPage(sql, Integer.valueOf(pageNo), 108, objects);



public Page queryForPage(String sql, int pageNo, int pageCount,Object[] args) {
		String strSql = "";
		int startNo = Page.getStartOfPage(pageNo, pageCount);
		int endNo = startNo + pageCount;
		int argsCount = args.length;
		//获取总数
		int totleCount = queryForCount(sql, args);
		Object[] new_args;

		if (startNo == 0) {
			strSql = "select * from (" + sql + ") where rownum <= ?";
			new_args = new Object[argsCount + 1];
		} else {
			strSql = "select * from (select row_.*,rownum rownum_ from (" + sql
					+ ") row_ where rownum <= ?) where rownum_>?";
			new_args = new Object[argsCount + 2];
			new_args[argsCount + 1] = new Integer(startNo);
		}
		
		for (int i = 0; i < argsCount; i++) {
			new_args[i] = args[i];
		}
		
		new_args[argsCount] = new Integer(endNo);
		
		List list = jdbcTemplateRsdl.queryForList(strSql, new_args);
		return new Page(startNo, totleCount, pageCount, list);
	}

	private int queryForCount(String sql, Object[] args) {
		String strSql = "select count(rowid) from ( " + sql + ")";
		return jdbcTemplateRsdl.queryForInt(strSql, args);
	} 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics