Jdbc java开发之分页源码详解

  

总之是用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分页源码实例请查看下面的相关链接

Jdbc java开发之分页源码详解