⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pagedstatementoracleimpl.java

📁 一个完整的代码管理系统的源代码
💻 JAVA
字号:
/*
 * Copyright (c) 2008-2010 Tanming1003 Inc.
 * All rights reserved.
 * 
 * tanming1003<tanming1003@163.com>
 * 
 * 
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions 
 * are met:
 * 
 * Redistributions of source code must retain the above copyright 
 * notice, this list of conditions and the following disclaimer. 
 * Redistributions in binary form must reproduce the above copyright 
 * notice, this list of conditions and the following disclaimer in the 
 * documentation and/or other materials provided with the distribution. 
 * Neither the name of tanming1003 nor the names of its contributors 
 * may be used to endorse or promote products derived from this 
 * software without specific prior written permission. 
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
 * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 
 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
 * POSSIBILITY OF SUCH DAMAGE.
 */
package hunnu.edu.cn.product.common.splitPages;

import java.sql.ResultSet;
import java.sql.SQLException;

import javax.sql.RowSet;

import oracle.jdbc.rowset.OracleCachedRowSet;

/**
 * @author tanming1003@163.com
 * @date 2008-10-13
 * @time 下午05:37:20
 * @project_name Product
 * @package_name hunnu.edu.cn.product.common.splitPages
 * @file_name    PagedStatementOracleImpl.java
 * @version      1.0
 */
public class PagedStatementOracleImpl extends PagedStatement
{

	 /** 
	  * 构造一查询出当页数据的PageStatement
	  */
	 public PagedStatementOracleImpl(String sql)
	 {
		super(sql);
	 }
    
	  /** 
	  * 构造一查询出当页数据的PageStatement 
	  * @param sql query sql 
	  * @param pageNo 页码 
	  */ 
	  public PagedStatementOracleImpl(String sql, int pageNo){ 
	    super(sql, pageNo); 
	  } 

	  /** 
	  * 构造一查询出当页数据的PageStatement,并指定每页显示记录条数 
	  * @param sql query sql 
	  * @param pageNo 页码 
	  * @param pageSize 每页容量 
	  */ 
	  public PagedStatementOracleImpl(String sql, int pageNo, int pageSize){ 
	    super(sql, pageNo, pageSize); 
	  } 

	  /** 
	   *生成查询一页数据的sql语句 
	   *@param sql 原查询语句 
	   *@startIndex 开始记录位置 
	   *@size 需要获取的记录数 
	   */ 
	  public String initQueryString(String sql, int start, int size)
	  {
		 StringBuffer querySQL = new StringBuffer();  
		 querySQL.append("select * from (select my_table.*,rownum as my_rownum from("); 
		 querySQL.append(sql); 
		 querySQL.append(") my_table "); 
		 querySQL.append(") where my_rownum>=").append(start); 
		 return querySQL.toString(); 
	  }
	  
	  /**
	   * 将ResultSet数据填充进CachedRowSet 
	   * @param rs 查询得到的结果集
	   */
	  protected RowSet populate(ResultSet rs) throws SQLException
	  {
		  
		 OracleCachedRowSet ocrs=new OracleCachedRowSet();
		 ocrs.populate(rs);
		 
		 return ocrs;
	  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -