使用javabean实现分页技术.docx
《使用javabean实现分页技术.docx》由会员分享,可在线阅读,更多相关《使用javabean实现分页技术.docx(8页珍藏版)》请在冰豆网上搜索。
使用javabean实现分页技术
使用javabean实现分页技术
结构:
执行过程:
1.Index调用javabean中的getrowcount方法获取:
表行数
2.Index调用javabean中的getpagecount方法获取:
页面数量
3.调用getcontent方法获取表中数据并显示
操作:
1.新建一个index.jsp页面
2.新建包javabean_pagckag
3.在包中新建t_conn类用于连接数据库
packagejavabean_package;
importjava.sql.*;
publicclasst_conn{
//连接对象
privateConnectioncon=null;
//获取连接的方法
publicConnectiongetcon()
{
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
con=DriverManager.getConnection("jdbc:
microsoft:
sqlserver:
//127.0.0.1:
1433;DatabaseName=test","sa","");
}catch(Exceptione)
{
e.printStackTrace();
}
returncon;
}
}
4.新建javabean(userbean)
packagejavabean_package;
publicclassuserbean{
publicuserbean()
{}
privateintid;
privateStringusername;
privateStringuserpwd;
privateStringuseremail;
privateStringusergrade;
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetUserpwd(){
returnuserpwd;
}
publicvoidsetUserpwd(Stringuserpwd){
this.userpwd=userpwd;
}
publicStringgetUseremail(){
returnuseremail;
}
publicvoidsetUseremail(Stringuseremail){
this.useremail=useremail;
}
publicStringgetUsergrade(){
returnusergrade;
}
publicvoidsetUsergrade(Stringusergrade){
this.usergrade=usergrade;
}
}
5.新建一个usercl类
introwcount;
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
intpagesize=10;//每页显示行数
intpagecount=0;//页面数量
●编写关闭数据方法
//关闭方法
privatevoidclose()
{
try{
if(rs!
=null)
{
rs.close();
}
if(stmt!
=null)
{
stmt.close();
}
if(conn!
=null)
{
conn.close();
}
}catch(Exceptione)
{
e.printStackTrace();
}
}
●查询表中记录数方法
publicintgetrowcount()
{
t_connt=newt_conn();
conn=t.getcon();
try{
stmt=conn.createStatement();
rs=stmt.executeQuery("selectcount(*)fromusertest");
if(rs.next())
{
rowcount=rs.getInt
(1);
}
}catch(Exceptione)
{
e.printStackTrace();
}
finally
{
this.close();
}
returnrowcount;
}
●计算分页数方法
publicintgetpagecount()
{
if(rowcount%pagesize==0)
{
pagecount=rowcount/pagesize;
}
else
{
pagecount=rowcount/pagesize+1;
}
returnpagecount;
}
●封装Arraylist方法
//查询数据库封装到arraylist中
publicArrayListgetcontent(intpagenow)
{
//根据传入内容查询
t_connt=newt_conn();
conn=t.getcon();
ArrayListal=newArrayList();
//rowcount=this.getrowcount();
try{
stmt=conn.createStatement();
Stringsql="selecttop"+pagesize+"*fromusertestwhereuseridnotin(selecttop"+pagesize*(pagenow-1)+"useridfromusertest)";
rs=stmt.executeQuery(sql);
while(rs.next())
{//将数据封装到al中:
通过javabean
userbeanub=newuserbean();
ub.setId(rs.getInt
(1));
ub.setUsername(rs.getString
(2));
ub.setUserpwd(rs.getString(3));
ub.setUseremail(rs.getString(4));
ub.setUsergrade(rs.getString(5));
al.add(ub);//arraylist获取javabean内容添加一条记录
}
}catch(Exceptione)
{
e.printStackTrace();
}
returnal;
}
6.在index中调用
<%
introwcount=0;//表中记录数
intpagenow=1;//用户点击页码
intpagecount=0;
userclc=newusercl();
rowcount=c.getrowcount();
pagecount=c.getpagecount();
//获取pagenow
Strings=request.getParameter("pagenow");
//out.println(s);
if(s!
=null)
{
pagenow=Integer.parseInt(s);
}
//out.println(pagecount);
//out.println(rowcount);
//调用arraylsit(usercl中的getconetnt方)获取内容并显示
ArrayListal=c.getcontent(pagenow);
%>
循环显示
<%out.println(al.size());
for(inti=0;i{
userbeanub=(userbean)al.get(i);
%>
<%=ub.getId()%> | <%=ub.getUsername()%> | <%=ub.getUserpwd()%> | <%=ub.getUseremail()%> | <%=ub.getUsergrade()%> |
<%}%>
页码显示与(以往相同)