使用javabean实现分页技术

来源:互联网 发布:ubuntu wine qq2015 编辑:程序博客网 时间:2024/05/21 13:23

结构:

执行过程:

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 Connectioncon=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 Stringusername;

private Stringuserpwd;

private Stringuseremail;

private Stringusergrade;

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;

  ResultSetrs=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>

 

页码显示与(以往相同)

原创粉丝点击