1、創(chuàng)建SessionFactory,為了減輕服務(wù)器負擔,保證一個應用中僅生成一個SessionFactory即可.


























?2、實現(xiàn)分頁過程
方法getTotalPage()得到總頁數(shù), getObject()將所查詢的數(shù)據(jù)封裝到list里!
?




















































代碼中page為請求的頁面,pagesize為一個頁面顯示的記錄數(shù)。
3、應用實例:
?














//如果請求業(yè)面為空或第一次訪問時,頁面設(shè)為1
????
if
?(nowpage?
==
?
null
?||?nowpage.equals(
""
))nowpage?
=
?
"
1
"
;

//將nowpage轉(zhuǎn)為整型
????
int
?mypage?
=
?
Integer
.parseInt(nowpage);
????
if
?(mypage?
<=
?
0
)mypage?
=
?
1
;


//頁面記錄數(shù)設(shè)為10
????
int
?pagesize?
=
?
10
;
????
String
?hql?
=
?
"
from?ExamStudent
"
;
????pageList?pl?
=
?
new
?pageList();
????
int
?totalpage?
=
?pl.getTotalPage(hql,?pagesize);




//當請求頁面大于總頁數(shù),則將當前請求頁面設(shè)為最大頁數(shù)
????
if
?(mypage?
>
?totalpage)mypage?
=
?totalpage;
????ArrayList?list?
=
?(ArrayList)?pl.getObject(hql,?mypage,pagesize);
????Iterator?it?
=
?list.iterator();
%>
<
html
>
<
head
>
<
title
>
JSP?for?AddStudentForm?form
</
title
>
</
head
>
<
body
>
<
table?
border
="1"
>
????
<
tr
>
????????
<
td
>
學號
</
td
>
????????
<
td
>
姓名
</
td
>
????????
<
td
>
性別
</
td
>
????????
<
td
>
電話
</
td
>
????????
<
td?
colspan
="2"
>
操作
</
td
>
????
</
tr
>
????
<%
...
????????????
while
?(it.hasNext())?{
????????????ExamStudent?es?
=
?(ExamStudent)?it.next();
????
%>
????
<
tr
>
????????
<
td
>
<%
=
es.getStudentClassid()
%>
</
td
>
????????
<
td
>
<%
=
es.getStudentName()
%>
</
td
>
????????
<
td
>
<%
=
es.getStudentSex()
%>
</
td
>
????????
<
td
>
<%
=
es.getStudentTel()
%>
</
td
>
????????
<
td
><
a?
href
="updateStudent.jsp?id=<%=es.getStudentId()%>"
>
修改
</
a
></
td
>
????????
<
td
><
a?
href
="/exam/deleteStudent?id=<%=es.getStudentId()%>"
>
刪除
</
a
></
td
>
????
</
tr
>
????
<%
...
????????}
????????list.clear();
????
%>
????
<
tr
>
????????
<
td?
colspan
="6"
><
a?
href
="addStudent.jsp?page=1"
>
首頁
</
a
>
||
<
a
????????????
href
="addStudent.jsp?page=<%=mypage-1%>"
>
上一頁
</
a
>
||
<
a
????????????
href
="addStudent.jsp?page=<%=mypage+1%>"
>
下一頁
</
a
>
||
<
a
????????????
href
="addStudent.jsp?page=<%=totalpage%>"
>
末頁
</
a
></
td
>
????
</
tr
>
</
table
>
</
body
>
</
html
>













































?
頁面中page ,nowpage,mypage均為當前請求頁面,只是數(shù)據(jù)類型不同。