1。ページネーションカテゴリ
コードコピーは次のとおりです。
パッケージorg.zh.basic;
/**
*ページクラス
*
* @Author Keven
*
*/
パブリッククラスpageinfo {
// 意味
プライベート文字列p_tablename;
プライベート文字列p_str- // - クエリ条件
private string p_ordercolumn; // - sorted列
Private String P_ORDERSTYLE;
private int p_curpage;
private int p_pagesize; //-ページごとに表示されるレコードの数
Private int p_totalRecords; // - totalレコード
Private int p_totalpages; // -totalページカウント
// / <summary>
// /機能を定義します
/// </ summary>
public pageinfo(){
}
public pageinfo(string p_tablename、string p_strwhere、
文字列p_ordercolumn、string p_orderstyle、int p_curpage、
int p_pagesize、int p_totalRecords、int p_totalpages){
this.p_tablename = p_tablename;
this.p_strwhere = p_strwhere;
this.p_ordercolumn = p_ordercolumn;
this.p_orderStyle = p_orderStyle;
this.p_curpage = p_curpage;
this.p_pagesize = p_pagesize;
this.p_totalRecords = p_totalRecords;
this.p_totalpages = p_totalpages;
}
public string getp_tablename(){
p_tablenameを返します。
}
public void setp_tablename(string ptablename){
p_tablename = ptablename;
}
public string getp_strwhere(){
P_STRを返します。
}
public void setp_strwhere(string pstrwhere){
p_strwhere = pstrwhere;
}
public string getp_ordercolumn(){
p_ordercolumnを返します。
}
public void setp_ordercolumn(string pordercolumn){
p_ordercolumn = pordercolumn;
}
public string getP_ORDERSTYLE(){
P_ORDERSTYLEを返します。
}
public void setP_ORDERSTYLE(String PorderStyle){
P_ORDERSTYLE = PORDERSTYLE;
}
public int getp_curpage(){
p_curpageを返します。
}
public void setp_curpage(int pcurpage){
p_curpage = pcurpage;
}
public int getp_pagesize(){
p_pagesizeを返します。
}
public void setp_pagesize(int ppagesize){
p_pagesize = ppagesize;
}
public int getP_TotalRecords(){
p_totalRecordsを返します。
}
public void setp_totalRecords(int ptotalRecords){
p_totalRecords = ptotalRecords;
}
public int getp_totalpages(){
p_totalpagesを返します。
}
public void setp_totalpages(int ptotalpages){
p_totalpages = ptotalpages;
}
}
2コール
コードコピーは次のとおりです。
パッケージorg.zh.sys.server;
java.sql.callablestatementをインポートします。
Java.sql.Connectionをインポートします。
java.sql.resultsetをインポートします。
java.sql.resultsetmetadataをインポートします。
java.sql.sqlexceptionをインポートします。
java.util.arraylistをインポートします。
java.util.mapをインポートします。
java.util.hashmapをインポートします。
org.hibernate.sessionをインポートします。
Import org.zh.basic.pageinfo;
Import org.zh.dao.hibernatesessionFactory;
Oracle.jdbc.driver.oracletypesをインポートします。
Oracle.jdbc.oracleCallablestatementをインポートします。
public class generatePage {
public generatePage(){
}
public static arraylist prc_page(pageinfo page){
arrayList list = new ArrayList();
マップMP;
セッションs = null;
接続conn = null;
結果rs = null;
callablestatement proc = null;
試す {
s = hibernatessessfactory.getSession();
conn = s.connection();
proc = conn.preparecall( "{call pages.prc_page(?、?、?、?、?、?、?、?、?、?、?)}");
proc.setString(1、page.getp_tablename());
proc.setString(2、page.getp_strwhere());
proc.setString(3、page.getp_ordercolumn());
proc.setString(4、page.getP_ORDERSTYLE());
proc.setint(5、page.getp_curpage());
proc.setint(6、page.getp_pagesize());
proc.registeroutparameter(7、oracletypes.number);
proc.registeroutparameter(8、oracletypes.number);
proc.registeroutparameter(9、oracletypes.cursor);
proc.execute();
// page.setp_totalRecords(proc.getint( "p_totalRecords"));
// page.setp_totalpages(proc.getint( "p_totalpages"));
// list =(arrayList)proc.getObject( "v_cur");
page.setp_totalRecords(proc.getint(7));
page.setp_totalpages(proc.getint(8));
rs =((oraclecallablestatement)proc).getcursor(9);
Resultsetmetadata rsmd = rs.getmetadata();
int numberofcolumns = rsmd.getColumnCount();
while(rs.next()){
mp = new Hashmap(numberofcolumns);
for(int r = 1; r <numberofcolumns; r ++){
mp.put(rsmd.getColumnName(r)、rs.getObject(r));
}
list.add(mp);
}
返品リスト。
} catch(sqlexception ex){
ex.printstacktrace();
返品リスト。
} catch(例外ex2){
ex2.printstacktrace();
返品リスト。
} ついに {
試す {
if(proc!= null){
proc.close();
}
if(rs!= null){
rs.close();
}
if(conn!= null){
conn.close();
}
} catch(sqlexception ex1){
ex1.printstacktrace();
}
}
}
}