1. Pagination 범주
코드 사본은 다음과 같습니다.
패키지 org.zh.basic;
/**
* 페이지 수업
*
* @Author Keven
*
*/
공개 수업 pageinfo {
// 정의
개인 문자열 p_tablename;
개인 문자열 p_strhows; // 쿼리 조건
개인 문자열 p_ordercolumn;
개인 문자열 p_orderstyle;
개인 int p_curpage;
개인 int p_pagesize; // -페이지 당 표시되는 레코드 수
개인 int P_TOTALRECORD;
개인 int p_totalpages; // -total page count
// / <요약>
// / 함수 정의
/// </ summary>
public pageinfo () {
}
public pageinfo (문자열 p_tablename, String p_strhows,
문자열 p_orderColumn, String p_orderstyle, int p_curpage,
int p_pagesize, int p_totalrecords, int p_totalpages) {
this.p_tablename = p_tablename;
this.p_strhows = p_strhows;
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;
}
공개 문자열 getp_tablename () {
반환 p_tablename;
}
public void setp_tablename (String ptablename) {
p_tablename = ptablename;
}
공개 문자열 getp_strwhows () {
P_STRWHERE를 반환하십시오.
}
public void setp_strhows (String pstrwhere) {
p_strhows = pstrwhows;
}
공개 문자열 getp_ordercolumn () {
반환 p_orderColumn;
}
public void setp_ordercolumn (String PorderColumn) {
p_ordercolumn = pordercolumn;
}
공개 문자열 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 import;
java.sql.resultsetmetadata import;
java.sql.sqlexception 가져 오기;
java.util.arraylist 가져 오기;
java.util.map import;
java.util.hashmap import;
import org.hibernate.session;
import org.zh.basic.pageinfo;
import org.zh.dao.hibernatessessionfactory;
import oracle.jdbc.driver.oracletypes;
import oracle.jdbc.oraclecallablestatement;
공개 클래스 GeneratePage {
public generatepage () {
}
public static arraylist prc_page (pageinfo page) {
ArrayList List = New ArrayList ();
지도 MP;
세션 s = null;
연결 Conn = null;
resultSet rs = null;
CallableStatement proc = null;
노력하다 {
s = hibernatessessionfactory.getSession ();
conn = s.connection ();
Proc = Conn.prepareCall ( "{Call Pages.prc_page (?,?,?,?,?,?,?,?, ?,?)}");
Proc.SetString (1, page.getp_tablename ());
Proc.SetString (2, page.getp_strwhows ());
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.printstacktrace ();
반환 목록;
} 마지막으로 {
노력하다 {
if (proc! = null) {
proc.close ();
}
if (rs! = null) {
rs.close ();
}
if (conn! = null) {
conn.close ();
}
} catch (sqlexception ex1) {
ex1.printstacktrace ();
}
}
}
}