zoukankan      html  css  js  c++  java
  • MySQL数据查询后结果实现分页效果

    page类记录分页信息

     1 public class DBPage<T> {
     2     //总页数
     3     private int totalPageCount = 1;
     4     //页面大小,即每页显示记录数
     5     private int pageSize =3;
     6     //记录总数
     7     private int totalCount =0;
     8     //当前页码
     9     private int currPageNo = 1;
    10     //每页集合
    11     List<T> usersList = new ArrayList<>();
    12     public int getTotalPageCount() {
    13         return totalPageCount;
    14     }
    15     public void setTotalPageCount(int totalPageCount) {
    16         this.totalPageCount = totalPageCount;
    17     }
    18     public int getPageSize() {
    19         return pageSize;
    20     }
    21     public void setPageSize(int pageSize) {
    22         this.pageSize = pageSize;
    23     }
    24     public int getTotalCount() {
    25         return totalCount;
    26     }
    27     public void setTotalCount(int totalCount) {
    28         this.totalCount = totalCount;
    29     }
    30     public int getCurrPageNo() {
    31         return currPageNo;
    32     }
    33     public void setCurrPageNo(int currPageNo) {
    34         this.currPageNo = currPageNo;
    35     }
    36     public List<T> getUsersList() {
    37         return usersList;
    38     }
    39     public void setUsersList(List<T> usersList) {
    40         this.usersList = usersList;
    41     }
    42 }

    用户操作类获取分页信息方法

     1 public DBPage<User> queryByPage(DBPage<User> dbPage) {
     2         CachedRowSet totalCrs = this.execQuery("select count(1) from t_user");
     3         try {
     4             while (totalCrs.next()) {
     5                 int count = totalCrs.getInt(1);
     6                 dbPage.setTotalCount(count);
     7             }
     8         } catch (SQLException e) {
     9             e.printStackTrace();
    10         } finally {
    11             try {
    12                 totalCrs.close();
    13             } catch (SQLException e) {
    14                 e.printStackTrace();
    15             }
    16         }
    17 
    18         if (dbPage.getTotalCount() > 0) {
    19             // 计算总页数
    20             int totalCount = dbPage.getTotalCount();
    21             int pageSize = dbPage.getPageSize();
    22             dbPage.setTotalPageCount(totalCount % pageSize == 0 ? (totalCount / pageSize) : totalCount / pageSize + 1);
    23         }
    24 
    25         CachedRowSet pageCrs = this.execQuery("select * from t_user limit ?,?",
    26                 (dbPage.getCurrPageNo() - 1) * dbPage.getPageSize(), dbPage.getPageSize());
    27         try {
    28             while (pageCrs.next()) {
    29                 String uname = pageCrs.getString("uname");
    30                 String upwd = pageCrs.getString("upwd");
    31                 int isAdmin = pageCrs.getInt("isAdmin");
    32                 dbPage.getUsersList().add(new User(0, uname, upwd, isAdmin));
    33             }
    34         } catch (SQLException e) {
    35             e.printStackTrace();
    36         } finally {
    37             try {
    38                 pageCrs.close();
    39             } catch (SQLException e) {
    40                 e.printStackTrace();
    41             }
    42         }
    43         return dbPage;
    44     }

    jsp页面显示分页信息

     1 <%
     2         DBPage<User> dbPage = new DBPage<>();
     3         int pageNo;
     4         String dbPageNo = (String) request.getParameter("pageNo");
     5         if (dbPageNo == null) {
     6             pageNo = 1;
     7         } else {
     8             pageNo = Integer.valueOf(dbPageNo);
     9             dbPage.setCurrPageNo(pageNo);
    10         }
    11         UserDaoImpl userDaoImpl = new UserDaoImpl();
    12         userDaoImpl.queryByPage(dbPage);
    13     %>
    14     <table border="1" align="center">
    15         <tr>
    16             <td>用户名</td>
    17             <td>密码</td>
    18             <td>管理员</td>
    19         </tr>
    20         <%
    21             for (User u : dbPage.getUsersList()) {
    22         %>
    23         <tr>
    24             <td><%=u.getUname()%></td>
    25             <td><%=u.getPwd()%></td>
    26             <td><%=u.getIsAdmin()%></td>
    27         </tr>
    28         <%
    29             }
    30         %>
    31     </table>
    32     当前<%=pageNo%>33     <br />
    34     <%
    35 
    36     %>
    37     <a href="?pageNo=<%=1%>">首页</a>
    38     <a href="?pageNo=<%=pageNo-1<1?pageNo:pageNo-1%>">上一页</a>
    39     <a href="?pageNo=<%=(pageNo+1)>dbPage.getTotalPageCount()?pageNo:pageNo+1%>">下一页</a>
    40     <a href="?pageNo=<%=dbPage.getTotalPageCount()%>">尾页</a>
  • 相关阅读:
    记录ubuntu安装nvidia-drivers简单的做法
    Win 与 Ubuntu 双系统时间同步问题解决
    记录安装mmdetection
    记录ubuntu 16.04安装matlab 2016b的过程
    vmware ubuntu 16.04 扩容 根目录
    记录一下使用qt designer和pyqt5做界面的过程
    提升模型性能的几个方法以及训练集测试集验证集的划分与作用
    Markdown语法 (转载)
    CatBoost: gradients boosting with categorical features support
    Gradient Centralization: A New Optimization Technique for Deep Neural Networks
  • 原文地址:https://www.cnblogs.com/lingdu9527/p/11020001.html
Copyright © 2011-2022 走看看