总之是用jdbc的游标移动
包com.sp.person.sql.util; 进口java.sql.Connection; 进口java.sql.PreparedStatement; 进口java.sql.ResultSet; 进口java.sql.SQLException; 进口java.util.Map; 进口java.util.TreeMap; 进口javax.sql.DataSource;/* * *常常有同事在问JDBC分页查询这里给二个例子介绍一下 * JDBC分页查询 *分成二种方式希望对大家有所帮助 *分另表示了绝对与相对的区别 * @see这时用到一个数据源设计模式 *数据源与数据库连接没有关系 *例用接口回调的特性 * @author liuqing * @version 1.0 * */公开课JdbcUtil {/* * *数据源 */私人数据源的数据源;/* * *不否启用多数据源 */私人布尔isMultipleDataSource;/* * *有时一个系统可能要使用多个数据源,存放多个数据源 */私人Map<字符串,DataSource>数据源=new TreeMap<字符串,DataSource> ();/* * *如果真的isMultipleDataSource是数据源的关键 */私人字符串dataSourceKey;/* * *默认构造器 */公共JdbcUtil () { }/* * *构造器弹簧的构造器注入 * @param数据源 */公共JdbcUtil(数据源的数据源){ 这一点。数据源=数据源; }/* * * JDBC分页查询 * @param sql sql查询语句 * @param firstSize起始页 * @param最大容量返回数据条数 * @return结果集 * @throws SQLException异常 */公共ResultSet queryPageAbsolute (sql字符串, int firstSize, int最大尺寸)抛出SQLException { PreparedStatement pre=this.getConn () .prepareStatement (sql); pre.setMaxRows(最大尺寸); ResultSet rs=pre.executeQuery (); rs.absolute (firstSize *最大尺寸); 返回rs; }/* * * JDBC分页查询 * @param sql sql查询语句 * @param firstSize起始页 * @param最大容量返回数据条数 * @return ResultSet返回结果集 * @throws SQLException异常 */公共ResultSet queryPageRelative (sql字符串, int firstSize, int最大尺寸)抛出SQLException { PreparedStatement pre=getConn () .prepareStatement (sql); pre.setMaxRows(最大尺寸); ResultSet rs=pre.executeQuery (); rs.relative (firstSize); 返回rs; }/* * * * @return连接 * @throws SQLException异常 */私人联系getConn()抛出SQLException {//使用多数据源的情况 如果(this.isMultipleDataSource) { 数据源v_dataSource=this.queryDataSourceByKey (); 如果(v_dataSource !=null) { 返回v_dataSource.getConnection (); } } 返回this.dataSource.getConnection (); }/* * *获得多数据源方法 * @return数据源 */公共数据源queryDataSourceByKey () { (Map.Entry<字符串,DataSource>ds: this.dataSources.entrySet ()) { 如果(ds.getKey () .equals (dataSourceKey)) { 返回ds.getValue (); } } 返回null; }/* * *获得多数据源方法 * @return数据源 */公共数据源queryDataSourceByKey(字符串useKey) { (Map.Entry<字符串,DataSource>ds: this.dataSources.entrySet ()) { 如果(ds.getKey () .equals (useKey)) { 返回ds.getValue (); } } 返回null; }/* * *数据源 */公共数据源getDataSource () { 返回数据源; }/* * *数据源setter注入 */公共空setDataSource(数据源的数据源){ 这一点。数据源=数据源; }/* * * @return isMultipleDataSource */公共布尔isMultipleDataSource () { 返回isMultipleDataSource; }/* * * @param isMultipleDataSource isMultipleDataSource设置 */公共空间setMultipleDataSource(布尔isMultipleDataSource) { 这一点。isMultipleDataSource=isMultipleDataSource; }/* * * @return数据源 */公共Map<字符串,DataSource>getDataSources () { 返回数据源; }/* * * @param数据源的数据源 */公共空间setdatasource (Map<字符串,DataSource>数据源){ 这一点。数据源=数据源; }/* * *返回当前使用的数据源 * @return dataSourceKey */公共字符串getDataSourceKey () { 返回dataSourceKey; }/* * *要使用的数据源为 * @param dataSourceKey dataSourceKey设置 */公共空间setDataSourceKey(字符串dataSourceKey) { 这一点。dataSourceKey=dataSourceKey; } }
更多关于java开发之Jdb分页源码实例请查看下面的相关链接