【MyBatis】Mybatis实现分页效果
源代码GitHub链接环境Eclipse项目web 3.0Tomcat 8.5用到的技术MyBatisLog4JJSTL基本的…Java Servlet,JSP,…使用方式直接运行ShowServlet.java(选择Run on server)即可在网页中看到分页效果如下项目结构主要源代码全部源码在github链接index.jsp% page languagejava contentTypetext/html; charsetUTF-8 pageEncodingUTF-8% % taglib prefixc urihttp://java.sun.com/jsp/jstl/core %!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtdhtmlheadmetahttp-equivContent-Typecontenttext/html; charsetUTF-8titleInsert title here/title/headbodytableborder1trth编号/thth姓名/thth年龄/th/trc:forEachitems${PageInfo.dataList }varpitrtd${pi.id }/tdtd${pi.name }/tdtd${pi.age }/td/tr/c:forEach/tableahrefShowServlet?pageNum${PageInfo.pageNum-1 }pageSize${PageInfo.pageSize}c:iftest${PageInfo.pageNum1 }οnclickjavascript:return false;/c:if上一页/aahrefShowServlet?pageNum${PageInfo.pageNum1 }pageSize${PageInfo.pageSize}c:iftest${PageInfo.pageNumPageInfo.total }οnclickjavascript:return false;/c:if下一页/a/body/htmlShowServlet.javapackagecn.hanquan.servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.hanquan.pojo.PageInfo;importcn.hanquan.service.PeopleService;importcn.hanquan.service.impl.PeopleServiceImpl;/** * 分页显示People信息 * * author Buuug * */WebServlet(/ShowServlet)publicclassShowServletextendsHttpServlet{privatePeopleService peopleServicenewPeopleServiceImpl();Overrideprotectedvoidservice(HttpServletRequest req,HttpServletResponse resp)throwsServletException,IOException{// 第一次访问的验证,如果没有传递参数,设置默认值String pageSizeStrreq.getParameter(pageSize);intpageSize2;if(pageSizeStr!null!pageSizeStr.equals()){pageSizeInteger.parseInt(pageSizeStr);}String pageNumberStrreq.getParameter(pageNum);intpageNum1;if(pageNumberStr!null!pageNumberStr.equals()){pageNumInteger.parseInt(pageNumberStr);}PageInfo pipeopleService.showPage(pageSize,pageNum);System.out.println(pi.getDataList());req.setAttribute(PageInfo,pi);req.getRequestDispatcher(index.jsp).forward(req,resp);}}PeopleServiceImpl.javapackagecn.hanquan.service.impl;importjava.io.IOException;importjava.io.InputStream;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importorg.apache.log4j.Logger;importcn.hanquan.pojo.PageInfo;importcn.hanquan.pojo.People;importcn.hanquan.service.PeopleService;/** * 在数据访问层、控制器中处理异常在service中只抛出异常 * * author Buuug * */publicclassPeopleServiceImplimplementsPeopleService{Logger loggerLogger.getLogger(PeopleServiceImpl.class);OverridepublicPageInfoshowPage(intpageSize,intpageNum)throwsIOException{InputStream isResources.getResourceAsStream(mybatis.xml);SqlSessionFactory factorynewSqlSessionFactoryBuilder().build(is);SqlSession sessionfactory.openSession();PageInfo pinewPageInfo();pi.setPageNum(pageNum);pi.setPageSize(pageSize);// 查询结果MapString,ObjectmapnewHashMap();map.put(pageStart,pageSize*(pageNum-1));map.put(pageSize,pageSize);ListPeoplelistsession.selectList(cn.hanquan.mapper.PeopleMapper.selByPage,map);pi.setDataList(list);logger.debug(list);// 总页数intcountsession.selectOne(cn.hanquan.mapper.PeopleMapper.selCount);pi.setTotal((count%pageSize0?count/pageSize:count/pageSize1));logger.debug(总人数pi.getTotal());returnpi;}}mybatis.xml?xml version1.0 encodingUTF-8?!DOCTYPE configuration PUBLIC -//mybatis.org//DTD Config 3.0//EN http://mybatis.org/dtd/mybatis-3-config.dtdconfigurationsettingssettingnamelogImplvalueLOG4J//settings!-- 给类起别名 --typeAliasespackagenamecn.hanquan.pojo//typeAliasesenvironmentsdefaultdefaultenvironmentiddefaulttransactionManagertypeJDBC/transactionManagerdataSourcetypePOOLEDpropertynamedrivervaluecom.mysql.cj.jdbc.Driver/propertynameurlvaluejdbc:mysql://localhost:3306/people?serverTimezoneUTC/propertynameusernamevalueroot/propertynamepasswordvalue123456//dataSource/environment/environmentsmappersmapperresourcecn/hanquan/mapper/PeopleMapper.xml//mappers/configurationPeopleMapper.xml?xml version1.0 encodingUTF-8?!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd!-- 填写实例化的包名类名在java代码中调用语句的时候使用 --mappernamespacecn.hanquan.mapper.PeopleMapper!-- limit分页查询 --selectidselByPageresultTypePeopleparameterTypemapselect * from people limit #{pageStart}, #{pageSize}/select!-- 查询总数 --selectidselCountresultTypeintselect count(*) from people/select/mapper

相关新闻

Citra模拟器:在电脑上完美运行3DS游戏的终极指南

Citra模拟器:在电脑上完美运行3DS游戏的终极指南

Citra模拟器:在电脑上完美运行3DS游戏的终极指南 【免费下载链接】citra A Nintendo 3DS Emulator 项目地址: https://gitcode.com/gh_mirrors/cit/citra 想要在电脑上重温《精灵宝可梦》、《火焰纹章》、《动物之森》这些经典的任天堂3DS独占游戏吗&#xf…

2026/7/28 19:18:16阅读更多 →
DXVK终极指南:让Windows游戏在Linux上流畅运行的神奇工具

DXVK终极指南:让Windows游戏在Linux上流畅运行的神奇工具

DXVK终极指南:让Windows游戏在Linux上流畅运行的神奇工具 【免费下载链接】dxvk Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine 项目地址: https://gitcode.com/gh_mirrors/dx/dxvk 你是否曾经梦想在Linux系统上也能畅玩Windows游戏&…

2026/7/28 19:18:16阅读更多 →
JAVA毕设项目:基于 SpringBoot+Vue 的高校学生竞赛成果台账与展示平台 校园学生竞赛项目管控与优秀成果展示系统 (源码+文档,讲解、调试运行,定制等)

JAVA毕设项目:基于 SpringBoot+Vue 的高校学生竞赛成果台账与展示平台 校园学生竞赛项目管控与优秀成果展示系统 (源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/28 19:16:16阅读更多 →
Simulink实现Dijkstra算法:自动驾驶路径规划可视化建模

Simulink实现Dijkstra算法:自动驾驶路径规划可视化建模

1. 项目概述:当Dijkstra遇上Simulink 第一次在Simulink里实现Dijkstra算法时,我盯着那个不断闪烁的路径动画看了足足十分钟——这比单纯看代码输出直观太多了。作为自动驾驶领域最经典的最短路径算法,Dijkstra在MATLAB脚本中的实现你可能见过…

2026/7/28 20:36:44阅读更多 →
当GPU显存开始说谎:用Vulkan计算技术揭开硬件故障的真相

当GPU显存开始说谎:用Vulkan计算技术揭开硬件故障的真相

当GPU显存开始说谎:用Vulkan计算技术揭开硬件故障的真相 【免费下载链接】memtest_vulkan Vulkan compute tool for testing video memory stability 项目地址: https://gitcode.com/gh_mirrors/me/memtest_vulkan 在数字世界的深处,你的GPU正在悄…

2026/7/28 20:36:44阅读更多 →
多智能体路径规划与避障控制的Matlab实现

多智能体路径规划与避障控制的Matlab实现

1. 项目概述:多智能体路径规划与避障控制在机器人控制和自动驾驶领域,路径规划与避障始终是核心挑战。人工势场法(APF)作为经典算法,通过模拟物理场的吸引与排斥作用实现路径规划,而控制障碍函数(CBF)则能严格保证系统安全性。本次…

2026/7/28 20:36:44阅读更多 →
免费AI音频插件终极指南:5分钟为Audacity注入超能力

免费AI音频插件终极指南:5分钟为Audacity注入超能力

免费AI音频插件终极指南:5分钟为Audacity注入超能力 【免费下载链接】openvino-plugins-ai-audacity A set of AI-enabled effects, generators, and analyzers for Audacity. 项目地址: https://gitcode.com/gh_mirrors/op/openvino-plugins-ai-audacity 还…

2026/7/28 20:36:44阅读更多 →
AI Agent Skills架构:从Markdown文档到可执行工作组件的设计思想

AI Agent Skills架构:从Markdown文档到可执行工作组件的设计思想

如果你还在把 Skills 简单理解为"用 Markdown 写个文档",那可能已经错过了 AI Agent 开发中最关键的设计思想。最近在 Claude Code、OpenCode 等主流 AI Agent 框架中频繁出现的.skill.md文件,表面上看起来确实是个 Markdown 文档,…

2026/7/28 20:36:44阅读更多 →
Unity 2D Roguelike游戏开发:随机地牢、道具系统与数据持久化实战

Unity 2D Roguelike游戏开发:随机地牢、道具系统与数据持久化实战

1. 项目概述:从零构建一个完整的2D Roguelike游戏如果你对Unity有一定了解,想挑战一个能串联起多个核心游戏开发系统的综合项目,那么一个2D Roguelike游戏绝对是个绝佳的选择。它不像大型3A游戏那样遥不可及,但又远比“打砖块”或…

2026/7/28 20:34:44阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:29阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:29阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:29阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →