使用javabean实现分页技术

该博客介绍了如何使用JavaBean实现数据库分页技术。首先,通过Index调用javabean获取表行数和页面数量,然后利用t_conn类连接数据库。接着,创建userbean类来封装数据,usercl类则包含查询、计算分页数和封装ArrayList的方法。在index.jsp中,通过usercl类获取并显示分页内容。

结构:

执行过程:

1.  Index调用javabean中的getrowcount方法获取:表行数

2.  Index调用javabean中的getpagecount方法获取:页面数量

3.  调用getcontent方法获取表中数据并显示

 

操作:

1.  新建一个index.jsp页面

2.  新建包javabean_pagckag

3.  在包中新建t_conn类用于连接数据库

package javabean_package;

import java.sql.*;

publicclass t_conn {

  

  //连接对象

  private Connection con=null;

  //获取连接的方法

  public Connection getcon()

  {

 

    try{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

con=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test","sa","");

    }catch(Exception e)

    {

      e.printStackTrace();

    }

   

    returncon;

  }

}

 

 

4.  新建javabeanuserbean

package javabean_package;

 

publicclass userbean {

public  userbean()

{}

 

privateintid;

private String username;

private String userpwd;

private String useremail;

private String usergrade;

publicint getId() {

  returnid;

}

publicvoid setId(int id) {

  this.id = id;

}

public String getUsername() {

  returnusername;

}

publicvoid setUsername(String username) {

  this.username = username;

}

public String getUserpwd() {

  returnuserpwd;

}

publicvoid setUserpwd(String userpwd) {

  this.userpwd = userpwd;

}

public String getUseremail() {

  returnuseremail;

}

publicvoid setUseremail(String useremail) {

  this.useremail = useremail;

}

public String getUsergrade() {

  returnusergrade;

}

publicvoid setUsergrade(String usergrade) {

  this.usergrade = usergrade;

}

 

}

5.  新建一个usercl

introwcount;

  Connection conn=null;

  Statement stmt=null;

  ResultSet rs=null;

 

  intpagesize=10;//每页显示行数

  intpagecount=0;//页面数量

l  编写关闭数据方法

//关闭方法

  privatevoid close()

  {

    try{

     

      if(rs!=null)

      {

         rs.close();

      }

      if(stmt!=null)

      {

         stmt.close();

      }

      if(conn!=null)

      {

         conn.close();

      }

    }catch(Exception e)

    {

    e.printStackTrace(); 

    }

   

  }

 

l  查询表中记录数方法

publicint getrowcount()

{

 

  t_conn t=new t_conn();

  conn=t.getcon();

  try{

    stmt=conn.createStatement();

    rs=stmt.executeQuery("select count(*) from usertest");

    if(rs.next())

    {

      rowcount=rs.getInt(1);

    }

  }catch(Exception e)

  {

  e.printStackTrace();   

  }

  finally

  {

    this.close();

  }

    returnrowcount;

}

 

l  计算分页数方法

publicint getpagecount()

{

  if(rowcount%pagesize==0)

  {

    pagecount=rowcount/pagesize;

  }

  else

  {

    pagecount=rowcount/pagesize+1;

  }

  returnpagecount;

}

 

l  封装Arraylist方法

//查询数据库封装到arraylist

public ArrayList getcontent(int pagenow)

{

  //根据传入内容查询

  t_conn t=new t_conn();

  conn=t.getcon();

  ArrayList al=new ArrayList();

  //rowcount=this.getrowcount();

 

  try{

    stmt=conn.createStatement();

String sql="select top "+pagesize+" * from usertest where userid not in (select top "+pagesize*(pagenow-1)+" userid from usertest)";

    rs=stmt.executeQuery(sql);

    while(rs.next())

    {   //将数据封装到al中:通过javabean

      userbean ub=new userbean();

      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(Exception e)

  {

    e.printStackTrace();

  }

   return al;

}

 

 

6.  index中调用

<%

  int rowcount=0;//表中记录数

  int pagenow=1;//用户点击页码

  int pagecount=0;

  usercl c=new usercl();

  rowcount=c.getrowcount();

  pagecount=c.getpagecount();

  //获取pagenow

  String s=request.getParameter("pagenow");

  //out.println(s);

  if(s!=null)

  {

  pagenow=Integer.parseInt(s);

  }

  //out.println(pagecount);

   //out.println(rowcount);

 //调用arraylsitusercl中的getconetnt方)获取内容并显示

     ArrayList al=c.getcontent(pagenow);

 

   %>

 

循环显示

<%out.println(al.size());

  for(int i=0;i<al.size();i++)

  {

     userbean ub=(userbean)al.get(i);

 %>

<tr>

<td><%=ub.getId()%></td>

<td><%=ub.getUsername() %></td>

<td><%=ub.getUserpwd() %></td>

<td><%=ub.getUseremail() %></td>

<td><%=ub.getUsergrade() %></td></tr>

<%} %>

</tbody></table><br>

 

页码显示与(以往相同)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值