锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
銆銆
銆銆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;
銆銆//涓欏墊樉紺虹殑璁板綍鏁?br />
銆銆private int numPerPage;
銆銆//璁板綍鎬繪暟
銆銆private int totalRows;
銆銆//鎬婚〉鏁?br />
銆銆private int totalPages;
銆銆//褰撳墠欏電爜
銆銆private int currentPage;
銆銆//璧峰琛屾暟
銆銆private int startIndex;
銆銆//緇撴潫琛屾暟
銆銆private int lastIndex;
銆銆//緇撴灉闆嗗瓨鏀綥ist
銆銆private List resultList;
銆銆//JdbcTemplate jTemplate
銆銆private JdbcTemplate jTemplate;
銆銆/**
銆銆* 姣忛〉鏄劇ず10鏉¤褰曠殑鏋勯犲嚱鏁?浣跨敤璇ュ嚱鏁板繀欏誨厛緇橮agination璁劇疆currentPage錛宩Template鍒濆?br />
銆銆* @param sql oracle璇彞
銆銆*/
銆銆public Pagination(String sql){
銆銆if(jTemplate == null){
銆銆throw new IllegalArgumentException("com.deity.ranking.util.Pagination.jTemplate is null,please initial it first. ");
銆銆}else if(sql.equals("")){
銆銆throw new IllegalArgumentException("com.deity.ranking.util.Pagination.sql is empty,please initial it first. ");
銆銆}
銆銆new Pagination(sql,currentPage,NUMBERS_PER_PAGE,jTemplate);
銆銆}
銆銆/**鍒嗛〉鏋勯犲嚱鏁?br />
銆銆* @param sql 鏍規嵁浼犲叆鐨剆ql璇彞寰楀埌涓浜涘熀鏈垎欏典俊鎭?br />
銆銆* @param currentPage 褰撳墠欏?br />
銆銆* @param numPerPage 姣忛〉璁板綍鏁?br />
銆銆* @param jTemplate JdbcTemplate瀹炰緥
銆銆*/
銆銆public Pagination(String sql,int currentPage,int numPerPage,JdbcTemplate jTemplate){
銆銆if(jTemplate == null){
銆銆throw new IllegalArgumentException("com.deity.ranking.util.Pagination.jTemplate is null,please initial it first. ");
銆銆}else if(sql == null || sql.equals("")){
銆銆throw new IllegalArgumentException("com.deity.ranking.util.Pagination.sql is empty,please initial it first. ");
銆銆}
銆銆//璁劇疆姣忛〉鏄劇ず璁板綍鏁?br />
銆銆setNumPerPage(numPerPage);
銆銆//璁劇疆瑕佹樉紺虹殑欏墊暟
銆銆setCurrentPage(currentPage);
銆銆//璁$畻鎬昏褰曟暟
銆銆StringBuffer totalSQL = new StringBuffer(" SELECT count(*) FROM ( ");
銆銆totalSQL.append(sql);
銆銆totalSQL.append(" ) totalTable ");
銆銆//緇橨dbcTemplate璧嬪?br />
銆銆setJdbcTemplate(jTemplate);
銆銆//鎬昏褰曟暟
銆銆setTotalRows(getJdbcTemplate().queryForInt(totalSQL.toString()));
銆銆//璁$畻鎬婚〉鏁?br />
銆銆setTotalPages();
銆銆//璁$畻璧峰琛屾暟
銆銆setStartIndex();
銆銆//璁$畻緇撴潫琛屾暟
銆銆setLastIndex();
銆銆System.out.println("lastIndex="+lastIndex);//////////////////
銆銆//鏋勯爋racle鏁版嵁搴撶殑鍒嗛〉璇彞
銆銆StringBuffer paginationSQL = new StringBuffer(" SELECT * FROM ( ");
銆銆paginationSQL.append(" SELECT temp.* ,ROWNUM num FROM ( ");
銆銆paginationSQL.append(sql);
銆銆paginationSQL.append("銆) temp where ROWNUM <= " + lastIndex);
銆銆paginationSQL.append(" ) WHERE銆num > " + startIndex);
銆銆//瑁呭叆緇撴灉闆?br />
銆銆setResultList(getJdbcTemplate().queryForList(paginationSQL.toString()));
銆銆}
銆銆/**
銆銆* @param args
銆銆*/
銆銆public static void main(String[] args) {
銆銆// TODO Auto-generated method stub銆銆銆銆}
銆銆public int getCurrentPage() {
銆銆return currentPage;
銆銆}
銆銆public void setCurrentPage(int currentPage) {
銆銆this.currentPage = currentPage;
銆銆}
銆銆public int getNumPerPage() {
銆銆return numPerPage;
銆銆}
銆銆public void setNumPerPage(int numPerPage) {
銆銆this.numPerPage = numPerPage;
銆銆}
銆銆public List getResultList() {
銆銆return resultList;銆銆銆銆}
銆銆public void setResultList(List resultList) {
銆銆this.resultList = resultList;
銆銆}
銆銆public int getTotalPages() {
銆銆return totalPages;
銆銆}
銆銆//璁$畻鎬婚〉鏁?br />
銆銆public void setTotalPages() {
銆銆if(totalRows % numPerPage == 0){
銆銆this.totalPages = totalRows / numPerPage;
銆銆}else{
銆銆this.totalPages銆= (totalRows / numPerPage) + 1;
銆銆}
銆銆}
銆銆public int getTotalRows() {
銆銆return totalRows;
銆銆}
銆銆public void setTotalRows(int totalRows) {
銆銆this.totalRows = totalRows;
銆銆}
銆銆public int getStartIndex() {
銆銆return startIndex;
銆銆}
銆銆public void setStartIndex() {
銆銆this.startIndex = (currentPage - 1) * numPerPage;
銆銆}
銆銆public int getLastIndex() {
銆銆return lastIndex;
銆銆}
銆銆public JdbcTemplate getJTemplate() {
銆銆return jTemplate;
銆銆}
銆銆public void setJTemplate(JdbcTemplate template) {
銆銆jTemplate = template;
銆銆}
銆銆//璁$畻緇撴潫鏃跺欑殑绱㈠紩
銆銆public void setLastIndex() {
銆銆System.out.println("totalRows="+totalRows);///////////
銆銆System.out.println("numPerPage="+numPerPage);///////////
銆銆if( totalRows < numPerPage){
銆銆this.lastIndex = totalRows;
銆銆}else if((totalRows % numPerPage == 0) || (totalRows % numPerPage != 0 && currentPage < totalPages)){
銆銆this.lastIndex = currentPage * numPerPage;
銆銆}else if(totalRows % numPerPage != 0 && currentPage == totalPages){//鏈鍚庝竴欏?br />
銆銆this.lastIndex = totalRows ;
銆銆}
銆銆}}鍦ㄦ垜鐨勪笟鍔¢昏緫浠g爜涓細
銆銆/**
銆銆* find season ranking list from DC
銆銆* @param areaId 閫夋墜鍖哄煙id
銆銆* @param rankDate 璧涘
銆銆* @param category 綾誨埆
銆銆* @param characterName 瑙掕壊鍚?br />
銆銆* @return List
銆銆*/
銆銆public List findSeasonRankingList(Long areaId, int rankYear,int rankMonth,
銆銆Long categoryId,String characterName) {
銆銆//SQL璇彞
銆銆StringBuffer sql = new StringBuffer(" SELECT C.USERID userid,D.POSNAME posname,C.GAMEID gameid,C.AMOUNT amount,C.RANK rank FROM ");
銆銆//琛ㄣ銆銆銆銆銆銆銆銆銆銆銆sql.append(" (SELECT B.USERID USERID,");
銆銆sql.append(" B.POSID POSID,");
銆銆sql.append(" A.DISTRICT_CODE DISTRICTCODE,");
銆銆sql.append(" A.GAMEID GAMEID,");
銆銆sql.append(" AMOUNT AMOUNT,");
銆銆sql.append(" RANK RANK ");
銆銆sql.append(" FROM TB_FS_RANK A ");
銆銆sql.append(" LEFT JOIN TB_CHARACTER_INFO B ");
銆銆sql.append(" ON A.DISTRICT_CODE = B.DISTRICT_CODE ");
銆銆sql.append(" AND A.GAMEID = B.GAMEID ");
銆銆//闄勫姞鏉′歡
銆銆if(areaId != null && areaId.intValue() != 0){
銆銆sql.append(" and A.DISTRICT_CODE = " + areaId.intValue());
銆銆}
銆銆if( rankYear > 1970 && rankMonth > 0){
銆銆//hql.append(" and sas.id.dt >= to_date('" + rankYear + "-" + rankMonth + "-01 00:00:00'," + "YYYY-MM-DD HH24:MI:SS");
銆銆//hql.append(" and sas.id.dt <= to_date('" + rankYear + "-" + rankMonth + "-" + TimeTool.findMaxDateInMonth(rankYear,rankMonth) + " 23:59:59'," + "YYYY-MM-DD HH24:MI:SS");
銆銆sql.append(" and A.DT = fn_time_convert(to_date('" + rankYear + "-" + rankMonth + "'," + "'YYYY-MM')) ");
銆銆}
銆銆if(categoryId != null && categoryId.intValue() != 0){
銆銆sql.append(" and A.CID = " + categoryId.intValue());
銆銆}
銆銆if(characterName != null && !characterName.trim().equals("")){
銆銆sql.append(" and A.GAMEID = '" + characterName.trim()+"' ");
銆銆}
銆銆sql.append(" ORDER BY RANK ASC) C ");
銆銆sql.append(" LEFT JOIN TB_FS_POSITION D ");
銆銆sql.append(" ON C.POSID = D.POSID ");
銆銆sql.append(" ORDER BY C.RANK ");
銆銆System.out.println("hql="+sql.toString());////////////////
銆銆//浣跨敤鑷繁鐨勫垎欏電▼搴忔帶鍒剁粨鏋滈泦
銆銆Pagination pageInfo = new Pagination(sql.toString(),1,10,getJdbcTemplate());
銆銆return pageInfo.getResultList();
銆銆//return getJdbcTemplate().queryForList(sql.toString());
銆銆}
鏂囩珷渚嗘簮錛歨ttp://java.chinaitlab.com/Spring/38091.html
]]>
鎵ц錛屾妸java.sql.ResultSet瀵硅薄涓殑涓鍒楀皝瑁呮垚Record,鍔犲埌ArrayList綾誨瀷鐨凴esultSet瀵硅薄涓?/span>
/**
* 鎵ц SQL 璇彞 (甯﹀垎欏靛姛鑳?
* @param con 鏁版嵁搴撻摼鎺?Connection
* @param strSQL SQL璇彞
* @param nCommonPageSize 姣忛〉鏈澶ц褰曟暟
* @param nCurrentPage 褰撳墠欏靛彿
* @param nTotalRecordCount 鎬昏褰曟暟, 濡傛灉絳変簬 -1 鎴栧皬浜?0, 鍒欑敱鏈嚱鏁扮浉鍏蟲柟娉曞緱鍒版鍊?br />
* @param obj 瀛楁瀵硅薄
* @return 濡傛灉鎵ц鐨勬槸鏌ヨ鎿嶄綔(select ...), 鎴愬姛榪斿洖灝佽鎴?RecordSet 鐨勮褰曢泦, 寮傚父鎴栧け璐ヨ繑鍥?null
* 濡傛灉鎵ц鐨勬槸鍐欐搷浣? 鎴愬姛榪斿洖絀虹殑 RecordSet(鍚搷浣滅殑璁板綍涓暟), 寮傚父鎴栧け璐ヨ繑鍥?null
*/
public static RecordSet executeWithDefaultDriver(Connection con, String strSQL, int nCommonPageSize, int nCurrentPage, int nTotalRecordCount, Object[] obj)
{
PreparedStatement ps = null;
try
{
if(nCommonPageSize<=0)
throw new Exception("欏佃褰曟暟灝忎簬 0: (" + nCommonPageSize + " 鏉¤褰?欏?");
if(nCurrentPage<=0)
throw new Exception("欏墊暟灝忎簬 0: (絎?" + nCurrentPage + " 欏?");
RecordSet set = new RecordSet();
strSQL = strSQL.trim();
ps = con.prepareStatement(strSQL, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
//璁劇疆瀛楁鍊?br />
setFieldValue(ps, obj, strSQL);
//鍒ゆ柇鏄惁涓烘煡璇?SQL, 榪樻槸鏇存柊 SQL
if(strSQL.substring(0, strSQL.indexOf(" ")).equalsIgnoreCase("SELECT"))
{
ResultSet rs = ps.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int nColumn = rsmd.getColumnCount();
//縐誨埌緇撴灉闆嗘渶鍚庝竴鏉? 鍙栧緱璁板綍鎬繪暟
set.CURRENT_PAGE = nCurrentPage;
set.COMMON_PAGE_SIZE = nCommonPageSize;
if(nTotalRecordCount>=0)
set.TOTAL_RECORD_COUNT = nTotalRecordCount;
else
{
rs.last();
set.TOTAL_RECORD_COUNT = rs.getRow();
}
set.TOTAL_PAGE = (set.TOTAL_RECORD_COUNT + nCommonPageSize - 1) / nCommonPageSize;
if(nCurrentPage==set.TOTAL_PAGE && set.TOTAL_RECORD_COUNT%nCommonPageSize!=0)
set.CURRENT_PAGE_SIZE = set.TOTAL_RECORD_COUNT % nCommonPageSize;
else
set.CURRENT_PAGE_SIZE = nCommonPageSize;
if(set.TOTAL_RECORD_COUNT==0)
return set;
//瀹氫綅鍒板綋鍓嶉〉鐨勯〉棣?br />
rs.absolute(nCommonPageSize * (nCurrentPage - 1) + 1);
do
{
Record record = new Record();
for(int i=0;i<nColumn;i++)
{
String strField = rsmd.getColumnName(i+1).toUpperCase();
record.put(strField, rs.getObject(i+1));
}
set.add(record);
}
while(rs.getRow()<nCommonPageSize*nCurrentPage && rs.next());
rs.close();
}
else
set.TOTAL_RECORD_COUNT = ps.executeUpdate();
return set;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
finally
{
try
{
if(ps!=null)
ps.close();
}
catch(Exception e){}
}
}
闈欐佹柟娉曠洿鎺ヨ皟鐢紝榪斿洖RS
璋冪敤
Record record =(Record)rs.get(i);
String code=record.getString("code");
鍙栫炕欏典俊鎭?/span>
<td valign="middle" align="right">姣忛〉<%=rs.COMMON_PAGE_SIZE%>琛?br />
鍏?lt;%=rs.TOTAL_RECORD_COUNT%>琛?br />
絎?lt;%=rs.CURRENT_PAGE%>欏?br />
鍏?lt;%=rs.TOTAL_PAGE%>欏?br />
<BR>
<%if(rs.CURRENT_PAGE==1){ out.print(" 棣栭〉 涓婁竴欏?); }else{ %>
<A HREF="javascript:gotoPage(1)">棣栭〉</A>
<A HREF="javascript:gotoPage(<%=rs.CURRENT_PAGE-1%>)">涓婁竴欏?lt;/A>
<%}%>
<%if(rs.CURRENT_PAGE==rs.TOTAL_PAGE){ out.print("涓嬩竴欏?灝鵑〉"); }else{ %>
<A HREF="javascript:gotoPage(<%=rs.CURRENT_PAGE+1%>)">涓嬩竴欏?lt;/A>
<A HREF="javascript:gotoPage(<%=rs.TOTAL_PAGE%>)">灝鵑〉</A>
<%}%>
杞埌絎?lt;SELECT name="jumpPage" onchange="Jumping()">
<% for(int i=1;i<=rs.TOTAL_PAGE;i++) {
if (i== rs.CURRENT_PAGE){
%>
<OPTION selected value=<%=i%>><%=i%></OPTION>
<%}else{%>
<OPTION value=<%=i%>><%=i%></OPTION>
<%}}%>
</SELECT>欏?br />
</td>
//////////////////////////////////RecordSet.java///////////////////////////////////////
import java.util.*;
public class RecordSet
extends ArrayList {
// 璁板綍闆嗕俊鎭?br />
/** 鎬婚〉鏁?*/
public int TOTAL_PAGE = -1;
/** 褰撳墠欏靛彿 */
public int CURRENT_PAGE = -1;
/** 姣忛〉鏈澶ц褰曟暟 */
public int COMMON_PAGE_SIZE = -1;
/** 褰撳墠欏墊墍鍚褰曟暟 */
public int CURRENT_PAGE_SIZE = -1;
/** 鎬昏褰曟暟 */
public int TOTAL_RECORD_COUNT = -1;
/** 褰撳墠鎸囧悜鐨勮褰曚綅緗?( 鍒濆浣嶇疆鍦ㄧ涓鏉¤褰曚箣鍓嶇殑絀轟綅涓?) */
private int currentRecordRow = 0;
/**
* 鍙栧緱褰撳墠璁板綍鐨勪綅緗?br />
* @return 璁板綍鐨勪綅緗?br />
*/
public int getRow() {
return currentRecordRow;
}
/**
* 寰楀埌絎琻鏉¤褰?br />
* @param i 璁板綍浣嶇疆 ( 鍙栧艱寖鍥? 1--榪斿洖鐨勮褰曟暟 )
* @return 鎴愬姛榪斿洖璁板綍, 寮傚父鎴栧け璐ヨ繑鍥?false
*/
public Record getRecord(int i) {
try {
return (Record)this.get(i - 1);
}
catch (Exception e) {
//Log.error(e);
return null;
}
}
/**
* 寰楀埌褰撳墠璁板綍
* @return 鎴愬姛榪斿洖璁板綍, 寮傚父鎴栧け璐ヨ繑鍥?false
*/
public Record getRecord() {
if (isBeforeFirst()) {
//Log.warn("鎸囬拡鍦ㄥ垵濮嬩綅緗? 璇蜂嬌鐢?first() 鎴?next() 鏂規硶灝嗘寚閽堟寚鍚戠涓鏉¤褰?);
return null;
}
if (isAfterLast()) {
//Log.warn("鎸囬拡鍦ㄧ粨鏉熶綅緗? 璇蜂嬌鐢?first() 鏂規硶灝嗘寚閽堟寚鍚戠涓鏉¤褰?);
return null;
}
return getRecord(currentRecordRow);
}
/**
* 瀹氫綅鍒扮粷瀵逛綅緗殑璁板綍
* @param row 璁板綍浣嶇疆 ( 0--榪斿洖鐨勮褰曟暟+1 )
* @return 鎴愬姛榪斿洖 true, 寮傚父鎴栧け璐ヨ繑鍥?false
*/
public boolean absolute(int row) {
if (0 <= row && row <= this.size() + 1) {
currentRecordRow = row;
return true;
}
else {
return false;
}
}
/**
* 瀹氫綅鍒伴鏉¤褰曚箣鍓?br />
*/
public void beforeFirst() {
currentRecordRow = 0;
}
/**
* 瀹氫綅鍒版湯鏉¤褰曚箣鍚?br />
*/
public void afterLast() {
currentRecordRow = this.size() + 1;
}
/**
* 瀹氫綅鍒伴鏉¤褰?br />
* @return 鎴愬姛榪斿洖 true, 澶辮觸榪斿洖 false
*/
public boolean first() {
if (this.isEmpty()) {
return false;
}
else {
currentRecordRow = 1;
return true;
}
}
/**
* 瀹氫綅鍒版湯鏉¤褰?br />
* @return 鎴愬姛榪斿洖 true, 澶辮觸榪斿洖 false
*/
public boolean last() {
if (this.isEmpty()) {
return false;
}
else {
currentRecordRow = this.size();
return true;
}
}
/**
* 鏄惁鍦ㄩ鏉¤褰曚箣鍓?br />
* @return 鏄繑鍥?true, 鍚﹁繑鍥?false
*/
public boolean isBeforeFirst() {
if (currentRecordRow == 0) {
return true;
}
else {
return false;
}
}
/**
* 鏄惁鍦ㄦ湯鏉¤褰曚箣鍚?br />
* @return 鏄繑鍥?true, 鍚﹁繑鍥?false
*/
public boolean isAfterLast() {
if (currentRecordRow == this.size() + 1) {
return true;
}
else {
return false;
}
}
/**
* 鏄惁浣嶄簬棣栨潯璁板綍
* @return 鏄繑鍥?true, 鍚﹁繑鍥?false
*/
public boolean isFirst() {
if (this.isEmpty()) {
return false;
}
else {
if (currentRecordRow == 1) {
return true;
}
else {
return false;
}
}
}
/**
* 鏄惁浣嶄簬鏈潯璁板綍
* @return 鏄繑鍥?true, 鍚﹁繑鍥?false
*/
public boolean isLast() {
if (this.isEmpty()) {
return false;
}
else {
if (currentRecordRow == this.size()) {
return true;
}
else {
return false;
}
}
}
/**
* 瀹氫綅鍒板墠涓鏉¤褰?br />
* @return 鎴愬姛榪斿洖 true, 澶辮觸榪斿洖 false
*/
public boolean previous() {
if (currentRecordRow < 1) {
return false;
}
else {
currentRecordRow--;
if (currentRecordRow < 1) {
return false;
}
else {
return true;
}
}
}
/**
* 瀹氫綅鍒板悗涓鏉¤褰?br />
* @return 鎴愬姛榪斿洖 true, 澶辮觸榪斿洖 false
*/
public boolean next() {
if (currentRecordRow > this.size()) {
return false;
}
else {
currentRecordRow++;
if (currentRecordRow > this.size()) {
return false;
}
else {
return true;
}
}
}
/**
* 寰楀埌鏁板瓧(鎺ㄨ崘浣跨敤榪欎釜鏂規硶寰楀埌鏁板瓧, 鍙互閬垮厤鍚勭鏁版嵁搴撴暟鎹被鍨嬩笉鍚岃屼駭鐢熺殑闂)
* @param key 瀛楁鍚?br />
* @return 鏁板瓧
*/
public double getNumber(String key) {
return Double.parseDouble(getString(key));
}
/**
* 寰楀埌 String 綾誨瀷鐨勫?鐢?getObject 鏂規硶鍙栧緱, 騫朵嬌鐢ㄤ簡 trim 鏂規硶鍘繪帀涓ょ絀烘牸, 褰撳璞′負絀烘椂榪斿洖絀哄瓧絎︿覆)
* @param key 瀛楁鍚?br />
* @return String 綾誨瀷鐨勫?br />
*/
public String getString(String key) {
Object obj = this.getRecord().getObject(key);
if (obj == null) {
return "";
}
else {
return obj.toString().trim();
}
}
/**
* 寰楀埌 Timestamp 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Timestamp 綾誨瀷鐨勫?br />
*/
public java.sql.Timestamp getTimestamp(String key) {
return this.getRecord().getTimestamp(key);
}
/**
* 寰楀埌 Date 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Date 綾誨瀷鐨勫?br />
*/
public java.sql.Date getDate(String key) {
return this.getRecord().getDate(key);
}
/**
* 寰楀埌 Time 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Time 綾誨瀷鐨勫?br />
*/
public java.sql.Time getTime(String key) {
return this.getRecord().getTime(key);
}
/**
* 寰楀埌 BigDecimal 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return BigDecimal 綾誨瀷鐨勫?br />
*/
public java.math.BigDecimal getBigDecimal(String key) {
return this.getRecord().getBigDecimal(key);
}
/**
* 寰楀埌 long 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return long 綾誨瀷鐨勫?br />
*/
public long getLong(String key) {
return this.getRecord().getLong(key).longValue();
}
/**
* 寰楀埌 int 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return int 綾誨瀷鐨勫?br />
*/
public int getInt(String key) {
return this.getRecord().getInteger(key).intValue();
}
/**
* 寰楀埌 short 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return short 綾誨瀷鐨勫?br />
*/
public short getShort(String key) {
return this.getRecord().getShort(key).shortValue();
}
/**
* 寰楀埌 double 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return double 綾誨瀷鐨勫?br />
*/
public double getDouble(String key) {
return this.getRecord().getDouble(key).doubleValue();
}
/**
* 寰楀埌 float 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return float 綾誨瀷鐨勫?br />
*/
public float getFloat(String key) {
return this.getRecord().getFloat(key).floatValue();
}
/**
* 寰楀埌 boolean 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return boolean 綾誨瀷鐨勫?br />
*/
public boolean getBoolean(String key) {
return this.getRecord().getBoolean(key).booleanValue();
}
/**
* 寰楀埌 byte 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return byte 綾誨瀷鐨勫?br />
*/
public byte getByte(String key) {
return this.getRecord().getByte(key).byteValue();
}
/**
* 寰楀埌 byte[] 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return byte[] 綾誨瀷鐨勫?br />
*/
public byte[] getBytes(String key) {
return this.getRecord().getBytes(key);
}
/**
* 寰楀埌 Blob 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Blob 綾誨瀷鐨勫?br />
*/
public java.sql.Blob getBlob(String key) {
return this.getRecord().getBlob(key);
}
/**
* 寰楀埌 Clob 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Clob 綾誨瀷鐨勫?br />
*/
public java.sql.Clob getClob(String key) {
return this.getRecord().getClob(key);
}
/**
* 寰楀埌 Array 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Array 綾誨瀷鐨勫?br />
*/
public java.sql.Array getArray(String key) {
return this.getRecord().getArray(key);
}
/**
* 寰楀埌 InputStream 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return InputStream 綾誨瀷鐨勫?br />
*/
public java.io.InputStream getBinaryStream(String key) {
return this.getRecord().getBinaryStream(key);
}
/**
* 寰楀埌 Object 綾誨瀷鐨勫?br />
* 娉ㄦ剰: 濡傛灉瀛楁涓?char 綾誨瀷, 瑕佹敞鎰忚繑鍥炵殑鍊煎熬閮ㄦ槸鍚︽湁澶氫綑鐨勭┖鏍?br />
* @param key 瀛楁鍚?br />
* @return Object 綾誨瀷鐨勫?br />
*/
public Object getObject(String key) {
return this.getRecord().getObject(key);
}
/**
* 榪斿洖鐩擱偦鐨勯〉鍙?br />
* @param size 鐩擱偦鐨勯〉鏁?br />
* @return 鎴愬姛榪斿洖鎵鏈夌浉閭葷殑欏靛彿闆嗗悎, 澶辮觸榪斿洖 null
*/
public int[] getNeighbouringPage(int size) {
try {
int left = (this.CURRENT_PAGE - 1 > size) ? size : this.CURRENT_PAGE - 1;
int right = (this.TOTAL_PAGE - this.CURRENT_PAGE > size) ? size :
this.TOTAL_PAGE - this.CURRENT_PAGE;
int begin = this.CURRENT_PAGE - left;
int[] num = new int[left + 1 + right];
for (int i = 0; i < num.length; i++) {
num[i] = begin + i;
}
return num;
}
catch (Exception e) {
//Log.error(e);
return null;
}
}
/**
* 涓庡彟涓涓褰曢泦鍚堝茍
* @param rs 璁板綍闆?br />
*/
public void merge(RecordSet rs) {
try {
rs.beforeFirst();
while (rs.next()) {
this.add(rs.getRecord());
}
this.TOTAL_RECORD_COUNT += rs.TOTAL_RECORD_COUNT;
this.beforeFirst();
}
catch (Exception e) {
//Log.error(e);
}
}
}
//////////////////////////////////////////Record.java///////////////////////////////////////////
import java.util.*;
public class Record
extends HashMap {
/**
* 鍙栧緱瀛楁鐨勫?br />
* @param key 瀛楁鍚?br />
* @return 鎴愬姛榪斿洖瀛楁鐨勫彇鍊? 寮傚父鎴栧け璐ヨ繑鍥?null
*/
public Object get(String key) {
if (key == null) {
return null;
}
else {
return super.get(key.toUpperCase());
}
}
/**
* 寰楀埌 String 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return String 綾誨瀷鐨勫?br />
*/
public java.lang.String getString(String key) {
Object obj = this.get(key);
return (java.lang.String) obj;
}
/**
* 寰楀埌 Timestamp 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Timestamp 綾誨瀷鐨勫?br />
*/
public java.sql.Timestamp getTimestamp(String key) {
Object obj = this.get(key);
return (java.sql.Timestamp) obj;
}
/**
* 寰楀埌 Date 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Date 綾誨瀷鐨勫?br />
*/
public java.sql.Date getDate(String key) {
Object obj = this.get(key);
return (java.sql.Date) obj;
}
/**
* 寰楀埌 Time 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Time 綾誨瀷鐨勫?br />
*/
public java.sql.Time getTime(String key) {
Object obj = this.get(key);
return (java.sql.Time) obj;
}
/**
* 寰楀埌 BigDecimal 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return BigDecimal 綾誨瀷鐨勫?br />
*/
public java.math.BigDecimal getBigDecimal(String key) {
Object obj = this.get(key);
return (java.math.BigDecimal) obj;
}
/**
* 寰楀埌 Long 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Long 綾誨瀷鐨勫?br />
*/
public java.lang.Long getLong(String key) {
Object obj = this.get(key);
return (java.lang.Long) obj;
}
/**
* 寰楀埌 Integer 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Integer 綾誨瀷鐨勫?br />
*/
public java.lang.Integer getInteger(String key) {
Object obj = this.get(key);
return (java.lang.Integer) obj;
}
/**
* 寰楀埌 Short 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Short 綾誨瀷鐨勫?br />
*/
public java.lang.Short getShort(String key) {
Object obj = this.get(key);
return (java.lang.Short) obj;
}
/**
* 寰楀埌 Double 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Double 綾誨瀷鐨勫?br />
*/
public java.lang.Double getDouble(String key) {
Object obj = this.get(key);
return (java.lang.Double) obj;
}
/**
* 寰楀埌 Float 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Float 綾誨瀷鐨勫?br />
*/
public java.lang.Float getFloat(String key) {
Object obj = this.get(key);
return (java.lang.Float) obj;
}
/**
* 寰楀埌 Boolean 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Boolean 綾誨瀷鐨勫?br />
*/
public java.lang.Boolean getBoolean(String key) {
Object obj = this.get(key);
return (java.lang.Boolean) obj;
}
/**
* 寰楀埌 Byte 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Byte 綾誨瀷鐨勫?br />
*/
public java.lang.Byte getByte(String key) {
Object obj = this.get(key);
return (java.lang.Byte) obj;
}
/**
* 寰楀埌 byte[] 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return byte[] 綾誨瀷鐨勫?br />
*/
public byte[] getBytes(String key) {
Object obj = this.get(key);
return (byte[]) obj;
}
/**
* 寰楀埌 Blob 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Blob 綾誨瀷鐨勫?br />
*/
public java.sql.Blob getBlob(String key) {
Object obj = this.get(key);
return (java.sql.Blob) obj;
}
/**
* 寰楀埌 Clob 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Clob 綾誨瀷鐨勫?br />
*/
public java.sql.Clob getClob(String key) {
Object obj = this.get(key);
return (java.sql.Clob) obj;
}
/**
* 寰楀埌 Array 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Array 綾誨瀷鐨勫?br />
*/
public java.sql.Array getArray(String key) {
Object obj = this.get(key);
return (java.sql.Array) obj;
}
/**
* 寰楀埌 InputStream 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return InputStream 綾誨瀷鐨勫?br />
*/
public java.io.InputStream getBinaryStream(String key) {
Object obj = this.get(key);
return (java.io.InputStream) obj;
}
/**
* 寰楀埌 Object 綾誨瀷鐨勫?br />
* @param key 瀛楁鍚?br />
* @return Object 綾誨瀷鐨勫?br />
*/
public Object getObject(String key) {
return this.get(key);
}
}