当前位置: 首页 > news >正文

mysql MVC jsp实现表分页

mysql是轻量级数据库

在三层架构中实现简单的分页

在数据库sql编程中需要编写sql语句

SELECT * FROM sys.student limit 5,5;

limit x,y

x是开始节点,y是开始节点后的需要显示的长度。

在jdbc编程中需要给出x和y

一般是页数*页码,显示的长度。

代码如下

public ArrayList<Stu> query(int page) {
        Connection con=Database.DatabaseConnection.getConnection();
        PreparedStatement pstmt;
        try {
            pstmt=con.prepareStatement("select * from sys.student limit ?,?");
            pstmt.setInt(1, (page-1)*5);
            pstmt.setInt(2, page*5);
            ResultSet rs=pstmt.executeQuery();
            ArrayList<Stu> stus=new ArrayList<Stu>();
            Stu stu;
            while(rs.next()){
                stu=new Stu(rs.getString("name"),rs.getInt("age"));
                stus.add(stu);
            }
            return stus;
        } catch (SQLException ex) {
            Logger.getLogger(operationStuImpl.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
    }

这样给出页码就可以得到一页的表中的元组。

还有如何得到表中元组的数量来限制最后一页。

数据库编程:

public int queryCount() {
        //得到所有的行
        Connection con=Database.DatabaseConnection.getConnection();
        PreparedStatement pstmt;
        try {
            pstmt=con.prepareStatement("select count(*) from sys.student");
            //pstmt.setString(1, name);
            ResultSet rs=pstmt.executeQuery();
            //找到学生信息
            //Stu stu=new Stu();
            while(rs.next()){
            int count=rs.getInt(1);
            return count;
            }
        } catch (SQLException ex) {
            Logger.getLogger(operationStuImpl.class.getName()).log(Level.SEVERE, null, ex);
        }
        return 0;
    }

实现所有元组的获取

servlet的实现:

String page=request.getParameter("page");
        int page1=Integer.parseInt(page);
        int count=operationFactory.operationFactory.getOperationDao().queryCount();
        ArrayList<Stu> stus;
        if(page1<=count/5){
            //request.setAttribute("page1", page1-1);
            request.setAttribute("page2", page1+1);
        }else{
        //request.setAttribute("page1", page1-1);
            request.setAttribute("page2", page1);
        }
        if(page1>1)
        {
        request.setAttribute("page1", page1-1);
        }else{
        request.setAttribute("page1", page1);
        }
        stus=operationFactory.operationFactory.getOperationDao().query(page1);
        
        
        request.setAttribute("stus", stus);
        request.setAttribute("count", (count/5+1));
        request.getRequestDispatcher("query.jsp").forward(request, response);

前端jsp实现:

<div class="text-center margin-big-top">
            <a href="QueryServlet?page=1">首页</a>
            <a href="QueryServlet?page=${page1}">上一页</a>
            <a href="QueryServlet?page=${page2}">下一页</a>
            <!--<a href="QueryServlet?page=1">${count-1}1</a>
            <a href="QueryServlet?page=2">${count}2</a>-->
            <c:forEach var="i" begin="1" end="${count}" step="1">
              <a href="QueryServlet?page=${i}"><c:out value="${i}"/></a>
            </c:forEach>
            <a href="QueryServlet?page=${count}">尾页</a>
            </div>

page1和page2分别实现的是前一页和后一页。

${i}实现的是总页数,迭代的结果。这样可以得到那一页的结果集。

实现页面:

相关文章:

mysql MVC jsp实现表分页

mysql是轻量级数据库 在三层架构中实现简单的分页 在数据库sql编程中需要编写sql语句 SELECT * FROM sys.student limit 5,5; limit x,y x是开始节点&#xff0c;y是开始节点后的需要显示的长度。 在jdbc编程中需要给出x和y 一般是页数*页码&#xff0c;显示的长度。 代…...

【微信小程序】数字化会议OA系统之首页搭建(附源码)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《微信小程序开发实战》。&#x1f3af;&#x1f3a…...

Leetcode——二维数组及滚动数组练习

118. 杨辉三角 class Solution { public:vector<vector<int>> generate(int numRows) {// 定义二维数组vector<vector<int>> num(numRows);for(int i0;i<numRows;i){//这里是给内层vector定义大小。默认是0,这里n是个数&#xff0c;不是值num[i].re…...

钢水包升降翻转液压系统比例阀放大器

钢水包升降翻转液压系统是一种用于控制钢水包升降和翻转的液压系统。该系统主要由液压泵、液压缸、控制阀和一些辅助元件组成。 钢水包升降翻转液压系统的液压泵将油从油箱中抽出&#xff0c;将油压力提高到一定值&#xff0c;然后通过控制阀将油分配到液压缸中。液压缸内的活…...

通达OA-通用版-V12,流程及表单自定义好用的类

通达OA-通用版-V12&#xff0c;流程及表单自定义好用的类 V1.0 V1.0 日期&#xff1a;2023年10月19日 新建类文件&#xff0c;将下面代码复制到文件中即可。 功能说明&#xff1a; 1、根据flow_id&#xff0c;可以获取流程表单相关的表名、及字段名。 2、根据run_id&#xff0…...

如何在vue中实现图片懒加载

1.什么是图片懒加载 概念当图片还未出现在浏览器的可视区&#xff0c;图片并不加载src所引入的图片资源。只有当图片出现在可视区时&#xff0c;才加载图片资源。 好处&#xff1a;当页面中需要许多图片进行展示。但是&#xff0c;在我们不可视区的图片我们可以进行图片懒加载…...

Mac 远程桌面软件

对于使用 Mac 计算机和笔记本电脑的企业来说&#xff0c;适用于 Mac 的远程桌面软件变得越来越重要&#xff0c;随着远程工作变得越来越普遍&#xff0c;IT 管理员和组织需要一种安全的方式来访问和修复问题、处理紧急任务以及监控远程工作站的状态&#xff0c;为了促进远距离协…...

EPLAN_005#宏边框、页宏、窗口宏/符号宏

一、宏边框 红边框不能用&#xff0c;变成了灰色 要在项目属性中更改位宏项目——才能使用宏边框功能 注意&#xff1a;创建宏边框时候要打开——显示隐藏元素 框选目标后&#xff0c;双击红边框的边——弹出红边框创建属性对话框——输入名称——更改变量ABC等 最后——自动…...

如何正确地使用ChatGPT(角色扮演+提示工程)

如何正确地使用ChatGPT 一、ChatGPT介绍二、准备工作2.1 获取ChatGPT环境2.2 确定使用ChatGPT的目标和需求 三、重要因素3.1 角色赋予3.2 提示工程 四、正确案例 一、ChatGPT介绍 可以查阅ChatGPT快速入门 二、准备工作 2.1 获取ChatGPT环境 国外的有OpenAI和微软NewBing等…...

MySQL服务安装与登录

&#xff08;1&#xff09;以管理员身份启动命令提示符&#xff1a; &#xff08;2&#xff09;定位到安装目录的bin目录下&#xff08;根据自己的安装路径进行调整即可&#xff09;。先输入“d:”&#xff0c;定位到d盘&#xff0c;输入cd空格文件路径&#xff08;直接复制粘贴…...

论文阅读之《Kindling the Darkness: A Practical Low-light Image Enhancer》

目录 摘要 介绍 已有方法回顾 普通方法 基于亮度的方法 基于深度学习的方法 基于图像去噪的方法 提出的方法 2.1 Layer Decomposition Net 2.2 Reflectance Restoration Net 2.3 Illumination Adjustment Net 实验结果 总结 Kindling the Darkness: A Practical L…...

性能测试基础知识及性能指标

前言&#xff1a;最近公司接了个项目&#xff0c;领导开会突然来了句&#xff0c;让我出一份性能测试方案&#xff0c;后面性能测试工作交给我&#xff01;我心里想之前面试没要求会这个啊&#xff08;最少得加钱才能做吧~&#xff0c;没办法既然下达了指令&#xff0c;那就只能…...

ArcGIS笔记10_如何创建渔网?

本文目录 前言Step 1 确定渔网的精度单位Step 2 有底图时创建渔网的操作 前言 ArcGIS中的渔网是一个很好用的工具&#xff0c;它可以创建出规规整整的小格子&#xff0c;每个小格子都对应一个标注点&#xff0c;可以将原本散乱的数据规整化&#xff0c;如下图&#xff1a; Ste…...

Jmeter安装(快速入门)

大家好我是苏麟今天简单聊一下Jmeter . Jmeter Jmeter官网 : Apache JMeter - Download Apache JMeter 安装Jmeter Jmeter依赖于JDK&#xff0c;所以必须确保当前计算机上已经安装了JDK&#xff0c;并且配置了环境变量。 下载 : 官网下载 : 网盘自取 : 链接&#xff1a;…...

一个react前端项目中的配置文件作用解析

前端框架中用到的配置文件 .editorconfig, .gitignore, .npmrc, .prettierignore, .prettierrc, .umirc.local.ts, .umirc.ts, package-lock.json, package.json, README.md, tsconfig.json, typings.d.ts, webpack.config.js.editorconfig&#xff1a;用于定义代码编辑器的配…...

MAC 配置 Maven

Maven 是一个流行的 Java 项目管理和构建工具&#xff0c;它可以帮助我们管理项目依赖、构建和发布等过程。本文将指导您在 MAC 上配置 Maven 的详细步骤。 1、下载 Maven 首先&#xff0c;从 Maven 官方网站下载最新版本的 Maven 安装包。下载完成后&#xff0c;将其解压到您…...

vue3.0 + element plus upload图片 上传

直接上图吧&#xff1a; 记录一下&#xff0c;方便后续遇到啥问题...

Leetcode 18:四数之和

给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&#xff09;。 解题思路&#xff1a…...

word误删除的文件怎么恢复?恢复办法分享

在日常工作和学习中&#xff0c;我们常常会使用到Word来撰写文章、毕业论文、方案等。然而&#xff0c;我们可能会遇到Word误删文件的情况&#xff0c;令我们陷入恐慌&#xff0c;特别是这个文件很重要时。幸运的是&#xff0c;有办法找回。下面一起来看下word误删除的文件怎么…...

提高Qt开发软件运算性能提升

编译器minGW32&#xff0c;release版本&#xff0c;大部分操作在线程循环里面更容易体现出来 1、网上有说opencv像素处理使用直接获取Mat对象的像素块的数据指针,例如 for (int row 0; row < h; row) { uchar* uc_pixel image.data row * image.step; for (int col …...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]

报错信息&#xff1a;libc.so.6: cannot open shared object file: No such file or directory&#xff1a; #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...

【笔记】AI Agent 项目 SUNA 部署 之 Docker 构建记录

#工作记录 构建过程记录 Microsoft Windows [Version 10.0.27871.1000] (c) Microsoft Corporation. All rights reserved.(suna-py3.12) F:\PythonProjects\suna>python setup.py --admin███████╗██╗ ██╗███╗ ██╗ █████╗ ██╔════╝…...

Cursor AI 账号纯净度维护与高效注册指南

Cursor AI 账号纯净度维护与高效注册指南&#xff1a;解决限制问题的实战方案 风车无限免费邮箱系统网页端使用说明|快速获取邮箱|cursor|windsurf|augment 问题背景 在成功解决 Cursor 环境配置问题后&#xff0c;许多开发者仍面临账号纯净度不足导致的限制问题。无论使用 16…...

新版NANO下载烧录过程

一、序言 搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统。此处使用 18.04 LTS。 二、环境搭建 1、安装库 $ sudo apt-get install qemu-user-static$ sudo apt-get install python 搭建环境的过程需要这个应用库来将某些 NVIDIA 软件组件安装到 Je…...

LINUX编译vlc

下载 VideoLAN / VLC GitLab 选择最新的发布版本 准备 sudo apt install -y xcb bison sudo apt install -y autopoint sudo apt install -y autoconf automake libtool编译ffmpeg LINUX FFMPEG编译汇总&#xff08;最简化&#xff09;_底部的附件列表中】: ffmpeg - lzip…...