使用Spring的JdbcTemplate实现分页功能 (1)
[ 来源:互网络 | 更新日期:2007-09-03 13:15:36 | 浏览次数:799]
简介:matrix
版权声明:本文可以自由转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
作者:潘顺昌(http://www.matrix.org.cn/user.shtml?username=panshunchang)
原文:http://www.matrix.org.cn/resource/article/43/43976_Jdbc_Template.html
关键字:sping JdbcTemplate
最近使用了spring中的JdbcTemplate实现数据库的查询和插入操作,发现spring的JdbcTemplate 不象HibernateTemplate那么好,已经实现了分页功能。所以要自己实现,使用getJdbcTemplate().queryForList(string sql)得到的结果集是所有的。
如果你的查询有10000条记录,或者更多,速度肯定慢了,当然你可以通过resultset中的游标控制查询的起始和结束。我这里用的是Oracle数据库,使用伪列ROWNUM来实现分页。我的分页代码如下:
package com.deity.ranking.util;
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
/**
* 分页函数
*
* @author allenpan
*/
public class Pagination extends JdbcDaoSupport{
public static final int NUMBERS_PER_PAGE = 10;
//一页显示的记录数
private int numPerPage;
//记录总数
private int totalRows;
//总页数
private int totalPages;
//当前页码
private int currentPage;
//起始行数
private int startIndex;
//结束行数
private int lastIndex;
//结果集存放List
private List resultList;
//JdbcTemplate jTemplate
private JdbcTemplate jTemplate;
/**
* 每页显示10条记录的构造函数,使用该函数必须先给Pagination设置currentPage,jTemplate初值
* @param sql oracle语句
*/
 


您的位置:
