jsp servlet mysql分页_MySQL+Service+Servlet+Jsp实现Table表格分页展示数据

下面以一个示例讲解如何使用MySQL+Service+Servlet+Jsp实现Table表格分页展示数据:eg:请假管理系统要求如下:一、打开首页页面, 访问查询请假记录的 servlet , 将查询结果在列表页面进行分页展并按照请假时同升序排序。整个页面的标题需要加粗加大显示,请假记录列表要求使用式实现对表头文字加粗显示, 超链接 (包括 “ 删除” 和 “ 添加请假记录” 两个) 无下划线且...
摘要由CSDN通过智能技术生成

下面以一个示例讲解如何使用MySQL+Service+Servlet+Jsp实现Table表格分页展示数据:

eg:请假管理系统

要求如下:

一、打开首页页面, 访问查询请假记录的 servlet , 将查询结果在列表页面进行分页展并按照请假时同升序排序。整个页面的标题需要加粗加大显示,请假记录列表要求使用式实现对表头文字加粗显示, 超链接 (包括 “ 删除” 和 “ 添加请假记录” 两个) 无下划线且 ’添加请假记录“字体为红色, 并实现信息列表隔行变色显示, 程序运行界面下:

58c9bd7994a51755d1f33c0ebd27e816.png

点击 “添加请假记录“ 进入添加请假记录页面;如下图所示:

bfbcffb8e6847c92584c31398dbcb62d.png

点击”提交“按钮提交表单时.要求使用‘jQuery对页面输入项进行验证.验证内包括姓名,请假shij、 请假原因的非空验证 ; 其中请假时间还必须进行格式验证 ,验证效果如下所示:

9241b99ceff2c806cf6fdab2f811ee58.png

096dde5b8454d95940f62c8414be17d1.png

表单数据通过验证后. 则提交请求至添加请假记录的 Servlet:, 如添加成功,则给出成功提示,如下图:

8a220cf0b722b8be21d473b1e5c41ffe.png

点击 ”确定’ 后跳转至请假记录信息的列表页面, 并非显示最新的请假记录信息, 效果如下所示:

c635ebbfd05a772fa3d1556ffb592347.png

如果添加请假记录信息失败,同样给出添加失败提示,并跳转回添加请假记录页面,重新添加请假记录信息;

当用户点击某一条请假记录信息对应的 “删除” 超链接时, 首先弹出信息提示框确认是否删除 , 效果如下图:

3590185bc3c67286fff95bc05ab62600.png

当用户点击 “确定" 后, 实现请假讵录的删除操作, 要求使用Ajax 异步请求后台Sevlet 方法进行删除,最后给出删除成功或者失败的信息提示;

二、MySQL数据库设计如下:

2fa82cb9e63626417ba264e10b633f14.png

三、项目分层设计如下:

fabb479689696425d2615304dee6708f.png        

2ab58548a35f4caa7e0ff5f4520a99f8.png

项目代码如下:

LeaveRecordsDao.java

packagecn.jbit.leaveReccords.dao;importjava.util.List;importjava.util.Map;importcn.jbit.leaveReccords.entity.LeaveRecords;public interfaceLeaveRecordsDao {/*** 删除请假信息

*

*@paramid

*@return

*/

public intdeleteLeaveRecords(Integer id);/*** 添加请假信息

*

*@paramleaveRecords 请假信息的对象

*@return

*/

public intaddLeaveRecords(LeaveRecords leaveRecords);/*** 分页查询所有消息

*@parampageIndex 页码

*@parampageSize 数据行数

*@return查询到的集合*/

public List selecteLeaveRecords(int pageIndex, intpageSize);/*** 查询总记录数

*@return查询到记录总数*/

public intcount();

}

LeaveRecordsDaoImpl.java

packagecn.jbit.leaveReccords.dao.impl;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.List;importjava.util.Map;importcn.jbit.leaveReccords.dao.BaseDao;importcn.jbit.leaveReccords.dao.LeaveRecordsDao;importcn.jbit.leaveReccords.entity.LeaveRecords;importcn.jbit.leaveReccords.util.DatabaseUtil;public class LeaveRecordsDaoImpl extends BaseDao implementsLeaveRecordsDao {/*** 删除*/@Overridepublic intdeleteLeaveRecords(Integer id) {int result = 0;

String sql= "DELETE FROM leaverecords WHERE id=?";try{

result= this.executeUpdate(sql, id);

}catch(SQLException e) {

e.printStackTrace();

}returnresult;

}

@Overridepublic intaddLeaveRecords(LeaveRecords leaveRecords) {int result = 0;

String sql= "INSERT INTO `leaverecords`(`name`,leaveTime,reason) VALUES (?,?,?)";try{

result= this.executeUpdate(sql, leaveRecords.getName(), leaveRecords.getLeaveTime(),

leaveRecords.getReason());

}catch(SQLException e) {

e.printStackTrace();

}returnresult;

}/*** 分页显示数据*/@Overridepublic List selecteLeaveRecords(int pageIndex, intpageSize) {

String sql= "SELECT id,`name`,leaveTime,reason FROM leaverecords ORDER BY leaveTime ASC limit ?,?";

Connection conn= null;

PreparedStatement pstmt= null;

ResultSet rs= null;

LeaveRecords records= null;

List leaveRecordsList = new ArrayList();try{

conn=DatabaseUtil.getConnection();

pstmt=conn.prepareStatement(sql);

pstmt.setInt(1, (pageIndex - 1) *pageSize);

pstmt.setInt(2, pageSize);

rs&#

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package com; public class Pager { private int totalRows = 0; // 记录总数 private int totalPages = 0; // 总页数 private int pageSize = 10; // 每页显示数据条数,默认为10条记录 private int currentPage = 1; // 当前页数 private boolean hasPrevious = false; // 是否有上一页 private boolean hasNext = false; // 是否有下一页 public int getSearchFrom() { return (currentPage - 1) * pageSize; } public Pager() { } public void init(int totalRows) { this.totalRows = totalRows; this.totalPages = ((totalRows + pageSize) - 1) / pageSize; refresh(); // 刷新当前页面信息 } /** * * @return Returns the currentPage. * */ public int getCurrentPage() { return currentPage; } /** * * @param currentPage * current page * */ public void setCurrentPage(int currentPage) { this.currentPage = currentPage; refresh(); } /** * * @return Returns the pageSize. * */ public int getPageSize() { return pageSize; } /** * * @param pageSize * The pageSize to set. * */ public void setPageSize(int pageSize) { this.pageSize = pageSize; refresh(); } /** * * @return Returns the totalPages. * */ public int getTotalPages() { return totalPages; } /** * * @param totalPages * The totalPages to set. * */ public void setTotalPages(int totalPages) { this.totalPages = totalPages; refresh(); } /** * * @return Returns the totalRows. * */ public int getTotalRows() { return totalRows; } /** * * @param totalRows * The totalRows to set. * */ public void setTotalRows(int totalRows) { this.totalRows = totalRows; refresh(); } // 跳到第一页 public void first() { currentPage = 1; this.setHasPrevious(false); refresh(); } // 取得上一页(重新设定当前页面即可) public void previous() { if (currentPage > 1) { currentPage--; } refresh(); } // 取得下一页 public void next() { //System.out.println("next: totalPages: "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值