jdbc通用sql分頁封裝

2021-06-28 11:31:25 字數 1779 閱讀 2618

**

code highlighting produced by actipro codehighlighter (freeware)

-->

/*** 查詢結果的總數,常用的地方就是查詢分頁時的總記錄數

* @param sql:原始sql語句!

* @return 查詢結果的總數

* @throws sqlexception

*/public int getsqlcount(string sql) throws sqlexception else

} catch (sqlexception e) finally catch (exception e) }}

/*** 查詢分頁的sql語句的資料

* @param sql 原始sql語句!

* @param currentpage 當前頁

* @param pagesize 每頁大小

* @return 返回滿足該條件的結果集,以list形式返回

*/public listgetsqllistset(string sql, int currentpage, int pagesize) throws sqlexception

if (pagesize < 1 || pagesize > 100)

int startrow = (currentpage - 1) * pagesize;

string nsql = "select * from (select a.*, rownum r from (" + sql + ") a where rownum <= " + (startrow + pagesize) + ") where r > " + startrow;

system.out.println("分頁sql語句:" + nsql);

try

list.add(str);

}return list;

} catch (sqlexception e) catch (exception e)

finally catch (exception e) }}

/*** 查詢分頁的sql語句的資料

* @param sql 原始sql語句!

* @param currentpage 當前頁

* @param pagesize 每頁大小

* @return 返回滿足該條件的結果集,以list<> 形式返回

*/public list> getsqlmapset(string sql, int currentpage,int pagesize) throws sqlexception

if (pagesize < 1 || pagesize > 100)

int startrow = (currentpage - 1) * pagesize;

string nsql = "select * from (select a.*, rownum r from (" + sql + ") a where rownum <= " + (startrow + pagesize) + ") where r > " + startrow;

system.out.println("分頁sql語句:" + nsql);

try

list.add(rstree);

}return list;

} catch (sqlexception e) catch (exception e)

finally catch (exception e)

}}

SQL 分頁通用儲存過程

這是乙個通用的分頁儲存過程,利用的是sql的系統游標 這種效率並不是很好 create proc sp pageview sql ntext,要執行的sql語句 pagecurrent int 1,pagesize int 10,pagecount int output asset nocount ...

Sql通用分頁儲存過程

這個是乙個基於framework平台,c 語言與sql建立分頁儲存過程 1.使用dbhelpersql幫助類 2,ado連線資料庫 3,通用儲存過程 create proc dbo p paging tablename varchar 8000 表名 檢視名 pagesize int 10,頁面顯示...

Mysql物理分頁通用SQL語句

根據分析我們知道要使用mysql資料庫的limit欄位。一般要求分頁的時候都會有乙個另外的要求,比如按資料插入的時間降序取出前3條,這個時候我們就需要先查詢出按時間降序排序的臨時表,再對這個臨時表進行取前3條資料的操作,以上描述轉換成sql語句為 select from table name ord...