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

javaee ssm框架项目添加分页控件

在这里插入图片描述

搭建ssm框架项目

参考上一篇博文

添加分页控件

引入依赖

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>testSSM2</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>testSSM2 Maven Webapp</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!-- 1.导入Spring相关的jar包 --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>4.3.18.RELEASE</version></dependency><!-- 导入mybatis的jar包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.37</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.2</version></dependency><!-- 配置日志信息--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!-- spring 整合 mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.0</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.3.18.RELEASE</version></dependency><!-- 4.导入springMVC需要的jar包--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.3.18.RELEASE</version></dependency><!-- 5.导入jstl jar包--><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- 6.加入分页 需要的jar包--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.2</version></dependency><!-- 7.导入jsp和servlet --><!-- 配置servlet--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!--配置jsp的依赖 --><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version><scope>provided</scope></dependency></dependencies><build><resources><resource><!-- 将Mapper的映射文件拷贝出来 --><directory>src/main/java</directory><includes><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources><finalName>testSSM2</finalName><pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --><plugins><plugin><artifactId>maven-clean-plugin</artifactId><version>3.1.0</version></plugin><!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --><plugin><artifactId>maven-resources-plugin</artifactId><version>3.0.2</version></plugin><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.8.0</version></plugin><plugin><artifactId>maven-surefire-plugin</artifactId><version>2.22.1</version></plugin><plugin><artifactId>maven-war-plugin</artifactId><version>3.2.2</version></plugin><plugin><artifactId>maven-install-plugin</artifactId><version>2.5.2</version></plugin><plugin><artifactId>maven-deploy-plugin</artifactId><version>2.8.2</version></plugin></plugins></pluginManagement></build>
</project>

修改mybatis配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!--配置db.properties  转移到spring中--><!--<properties resource="db.properties" />--><!-- 配置日志管理 --><settings><setting name="logImpl" value="STDOUT_LOGGING"/></settings><!-- 设置别名--><typeAliases><package name="com.test.pojo" /></typeAliases><!-- 转移到spring配置文件中 --><!--<environments default="development">--><!--<environment id="development">--><!--<transactionManager type="JDBC"/>--><!--<dataSource type="POOLED">--><!--<property name="driver" value="${driverClass}"/>--><!--<property name="url" value="${url}"/>--><!--<property name="username" value="${user}"/>--><!--<property name="password" value="${password}"/>--><!--</dataSource>--><!--</environment>--><!--</environments>--><!--注册mapper文件 转移到spring中--><!--<mappers>--><!--<package name="com.test.mapper" />--><!--</mappers>--><!-- 3.添加分页插件--><plugins><plugin interceptor="com.github.pagehelper.PageInterceptor" /></plugins></configuration>   

测试

package com.test.controller;import com.github.pagehelper.PageInfo;
import com.test.pojo.Items;
import com.test.service.IItemsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;import java.util.List;@Controller
@RequestMapping("/items")
public class ItemsController {@Autowiredprivate IItemsService itemsService;public IItemsService getItemsService() {return itemsService;}public void setItemsService(IItemsService itemsService) {this.itemsService = itemsService;}@RequestMapping("/selectAllItems")public ModelAndView selectAllItems(){List<Items> itemsList= itemsService.selectItems();// System.out.println(itemsList);ModelAndView modelAndView=new ModelAndView();modelAndView.addObject("itemsList",itemsList);modelAndView.setViewName("showItems");return modelAndView;}@RequestMapping("/selectAllItemsByPage")public ModelAndView selectAllItemsByPage(@RequestParam(value ="pageindex",defaultValue = "1") int pageindex){PageInfo<Items> pageInfo= itemsService.selectItemsByPage(pageindex,2);ModelAndView modelAndView=new ModelAndView();modelAndView.addObject("pageInfo",pageInfo);modelAndView.setViewName("showItemsByPage");return modelAndView;}
}
package com.test.service;import com.github.pagehelper.PageInfo;
import com.test.pojo.Items;import java.util.List;public interface IItemsService {public List<Items> selectItems();public PageInfo<Items> selectItemsByPage(int pageindex, int pagesize);}
package com.test.service.impl;import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.test.mapper.ItemsMapper;
import com.test.pojo.Items;
import com.test.service.IItemsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class ItemsService implements IItemsService {@Autowiredprivate ItemsMapper itemsMapper;public ItemsMapper getItemsMapper() {return itemsMapper;}public void setItemsMapper(ItemsMapper itemsMapper) {this.itemsMapper = itemsMapper;}//查询所有@Overridepublic List<Items> selectItems() {return itemsMapper.selectItems();}//分页查询public PageInfo<Items> selectItemsByPage(int pageindex,int pagesize){//1.开启分页PageHelper.startPage(pageindex,pagesize);//2.查询List<Items> itemsList= itemsMapper.selectItems();//3.组装PageInfo对象 返回PageInfo<Items> pageInfo=new PageInfo<Items>(itemsList);return pageInfo;}
}

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%String baseUrl=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath();pageContext.setAttribute("baseUrl",baseUrl);
%>
<html>
<head ><base href="${baseUrl}"><title>Title</title>
</head>
<body><c:forEach var="items" items="${pageInfo.list}">${items.name}<br/></c:forEach><c:forEach var="i" begin="1" end="${pageInfo.pages}"><a href="${baseUrl}/items/selectAllItemsByPage?pageindex=${i}">${i}</a>
</c:forEach>
</body>
</html>

相关文章:

javaee ssm框架项目添加分页控件

搭建ssm框架项目 参考上一篇博文 添加分页控件 引入依赖 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schema…...

2023年中国非晶纳米晶竞争格局、产业链及行业产量分析[图]

非晶合金又称“液态金属、金属玻璃”&#xff0c;是一种新型软磁合金材料&#xff0c;主要包含铁、硅、硼等元素。其主要制品非晶合金薄带的制造工艺是采用急速冷却技术将合金熔液以每秒106℃的速度急速冷却&#xff0c;形成厚度约0.03mm的非晶合金薄带&#xff0c;物理状态表现…...

在业务开发中遇到的树形结构(部门、区域、职位),递归处理。

文章目录 概要对象结构示例完整示例小结 概要 本文主要记录在树形结构中会遇到的问题&#xff0c; 使用部门结构讲解&#xff0c;main方法进行演示。 1、获取部门树结构 2、根据部门id获取所有下级 3、根据部门id获取上级部门 4、根据部门id获取类似面包屑&#xff08;总公司…...

张量-算术操作函数

tf.add(x,y,name None)求和函数 示例代码如下: import tensorflow.compat.v1 as tf tf.disable_v2_behavior()x 1 y 2a tf.add(x,y)with tf.Session() as sess:print(sess.run(a)) tf.subtract(x,y,name None)减法函数 示例代码如下: import tensorflow.compat.v1 as …...

虚拟展厅有什么重要意义,了解虚拟展厅在宣传中的应用

引言&#xff1a; 随着科技的不断进步&#xff0c;虚拟展厅已经逐渐成为展览行业的重要一环。虚拟展厅是一种数字化平台&#xff0c;为观众提供了与传统展览完全不同的体验。 一&#xff0e;虚拟展厅的定义 虚拟展厅是一个通过互联网和虚拟现实技术创建的数字展示空间&#x…...

华为OD机试真题-补种未成活胡杨(Java/C++/Go/Python)

华为OD机试真题-补种未成活胡杨(Java/C++/Go/Python) 题目描述 近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1-N),排成一排。 一个月后,有M棵胡杨未能成活。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树? 输入…...

Java卷上天,可以转行干什么?

小刚是某名企里的一位有5年经验的高级Java开发工程师&#xff0c;每天沉重的的工作让他疲惫不堪&#xff0c;让他萌生出想换工作的心理&#xff0c;但是转行其他工作他又不清楚该找什么样的工作 因为JAVA 这几年的更新实在是太太太……快了&#xff0c;JAVA 8 都还没用多久&am…...

Pyside6 安装和简单界面开发

Pyside6 安装和简单界面开发 Pyside6介绍Pysied6开发环境搭建Python安装Pysied6安装 Pyside6界面开发简单界面设计界面设计界面编译 编写界面初始化代码软件打包 Pyside6介绍 对于Python的GUI开发来说&#xff0c;Python自带的可视化编程模块的功能较弱&#xff0c;PySide是跨…...

python读取vivo手机截图,将满屏图片文件移动别的路径

问题之初 python读取vivo手机截图&#xff0c; 将满屏图片文件移动别的路径好多这样的图片&#xff0c;占用手机大量的内存&#xff0c;食之无味弃之可惜&#xff01;那么会复制粘贴&#x1f440;代码的我们我们今天就把这些图片筛选清理掉。 这段代码 原有逻辑的基础上&…...

【一周安全资讯1007】多项信息安全国家标准10月1日起实施;GitLab发布紧急安全补丁修复高危漏洞

要闻速览 1.以下信息安全国家标准10月1日起实施 2.GitLab发布紧急安全补丁修复高危漏洞 3.主流显卡全中招&#xff01;GPU.zip侧信道攻击可泄漏敏感数据 4.MOVEit漏洞导致美国900所院校学生信息发生大规模泄露 5.法国太空和国防供应商Exail遭黑客攻击&#xff0c;泄露大量敏感…...

2023年09月个人工作生活总结

本文为 2023 年 9 月工作生活总结。 研发编码 Alpine 容器 某工程部署于alpine镜像&#xff0c;当初看上是因为其体积小&#xff0c;其它微服务&#xff0c;在250MB左右&#xff0c;但那个工程只用50MB。最近发现时间戳转换不正确。对于同一时间字符串转时间戳函数&#xff0…...

现货白银图表分析的依据

现货白银的行情图表分析其实与股票的差不多&#xff0c;投资者可以结合均线、k线的变化&#xff0c;来分析实时的行情走势。当走势图的均线呈多头排列&#xff0c;即短期、中期、长期均线依次从上到下排列并向右上方运行&#xff0c;且白银价格沿各均线向右上方拉升&#xff0c…...

python多线程与多进程

多线程与多进程 一, 什么是进程, 什么是线程? ​ 进程: 运行中的程序. 每次我们执行一个程序, 咱们的操作系统对自动的为这个程序准备一些必要的资源(例如, 分配内存, 创建一个能够执行的线程. ) ​ 线程: 程序内, 可以直接被CPU调度的执行过程. 是操作系统能够进行运算调度…...

62从零开始学Java之时间相关的类都有哪些?

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 我们在开发时&#xff0c;除了数字、数学这样的常用API之外&#xff0c;还有日期时间类&#xff0c;更…...

2023年山东安全员c证考试题库及答案解析来了!

...

【Leetcode】买卖股票系列

121. 买卖股票的最佳时机 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔…...

SLAM面试笔记(8) — 计算机视觉面试题

目录 问题1&#xff1a;目标检测的算法分类 问题2&#xff1a;卷积神经网络的组成 问题3&#xff1a;输入层的作用 问题4&#xff1a;卷积层作用 问题5&#xff1a;卷积核类型 问题6&#xff1a;11卷积核作用 问题7&#xff1a;卷积核是否越大越好 问题8&#xff1a;棋…...

聊聊MySQL面试常问名词回表、索引覆盖,最左匹配

文章目录 1. 前言2. 回表操作 Index Lookup2.1 什么是回表2.2 回表的成本2.3 如何避免回表 3. 索引覆盖 Covering Index3.1 什么是索引覆盖3.2 索引覆盖的优点3.3 如何使用索引覆盖 4. 最左匹配原则&#xff08;Leftmost Prefix Match&#xff09;4.1 什么是最左匹配原则4.2 最…...

【面试】C/C++面试八股

C/C面试八股 编译过程的四个阶段C和C语言的区别简单介绍一下三大特性多态的实现原理虚函数的构成原理虚函数的调用原理虚表指针在什么地方进行初始化的&#xff1f;构造函数为什么不能是虚函数为什么建议将析构函数设为虚函数虚函数和纯虚函数的区别抽象类类对象的对象模型内存…...

学习记忆——数学篇——算术——无理数

谐音记忆法 2 \sqrt{2} 2 ​≈1.41421&#xff1a;意思意思而已&#xff1b;意思意思&#xff1b; 3 \sqrt{3} 3 ​≈1.7320&#xff1a;—起生鹅蛋&#xff1b;一起生儿&#xff1b; 5 \sqrt{5} 5 ​≈2.2360679&#xff1a;两鹅生六蛋(送)六妻舅&#xff1b;儿儿生&#xf…...

uDebugLib:嵌入式零开销串口调试库设计与实践

1. uDebugLib 库概述uDebugLib 是一个轻量级、跨平台的嵌入式串口调试辅助库&#xff0c;专为 Arduino 及兼容平台&#xff08;如 ESP32、STM32&#xff08;通过Arduino Core&#xff09;、nRF52 等&#xff09;设计。其核心目标并非替代完整的日志系统&#xff08;如esp_log或…...

前端面试高频考点总结(不仅有考点,还有对应解答)

2026年 AI面试 经验分享 前端面试核心要点 技术考察转向实际场景与新兴技术&#xff0c;重点包括&#xff1a; JavaScript/TypeScript核心机制与编码能力React/Vue3的高阶特性与原理工程化与性能优化体系网络/安全与综合性场景题 3-5年经验者需突出&#xff1a; 技术原理深度&a…...

爱芯元智上市后首次年报:营收5.6亿同比增19% 智能汽车业务成增长引擎

雷递网 雷建平 3月27日爱芯元智&#xff08;0600.HK&#xff09;今日发布截至2025年12月31日的2025年的财报。财报显示&#xff0c;爱芯元智2025年营收5.6亿&#xff0c;较上年同期的4.7亿元增长18.8%。爱芯元智2025年毛利为1.21亿元&#xff0c;毛利率稳定在21.6%&#xff1b;…...

LinuxMint 22.1(Ubuntu24.04)下通过Wine完美运行同花顺远航版的实战指南

1. 为什么要在LinuxMint上运行同花顺远航版 作为一个长期使用Linux系统的投资者&#xff0c;我深知在Linux平台上找到一款功能完善的行情软件有多难。同花顺Linux原生版虽然能用&#xff0c;但功能停留在基础行情展示&#xff0c;而且自2022年起就停止了更新。这对于习惯使用Wi…...

掌控散热:OmenSuperHub开源风扇控制与性能优化工具深度解析

掌控散热&#xff1a;OmenSuperHub开源风扇控制与性能优化工具深度解析 【免费下载链接】OmenSuperHub 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普暗影精灵系列游戏本打造的开源控制软件&#xff0c;提供完全离线的硬件监控…...

用Python和Pandas手把手教你计算股票技术指标(MA、MACD、KDJ、RSI、OBV保姆级代码)

用Python和Pandas实现股票技术指标全解析&#xff1a;从数据清洗到策略回测 在量化投资领域&#xff0c;技术指标分析是识别市场趋势、判断买卖时机的重要工具。对于刚接触Python数据分析的投资者来说&#xff0c;如何将教科书上的指标公式转化为可执行的代码往往是个挑战。本文…...

从智能电池到服务器风扇:手把手解析SMBus的15种通信协议与应用实例

从智能电池到服务器风扇&#xff1a;手把手解析SMBus的15种通信协议与应用实例 当你在笔记本电脑上看到剩余电量精确到1%时&#xff0c;或是服务器机柜里的风扇根据温度自动调节转速时&#xff0c;背后都有一个低调的"通信专家"在默默工作——它就是SMBus&#xff0…...

ARM64虚拟化实战:从零搭建KVM环境并理解VHE特性

ARM64虚拟化实战&#xff1a;从零搭建KVM环境并深度解析VHE特性 开篇&#xff1a;为什么ARM64虚拟化值得关注&#xff1f; 在云计算和边缘计算迅猛发展的今天&#xff0c;ARM架构凭借其出色的能效比和可扩展性&#xff0c;正逐步蚕食传统x86服务器市场。根据最新行业报告&#…...

Ansys - Fluent 在激光与电弧焊接增材领域的模拟探索

Ansys-Fluent激光电弧焊接增材数值模拟案例&#xff0c;激光焊接&#xff0c;激光增材&#xff0c;激光熔覆等&#xff0c;SLM Fluent模拟&#xff0c;内容包含 激光焊接熔池演变&#xff08;视频教程&#xff09; SLM激光熔池演变&#xff08;视频教程&#xff09; 激光熔覆单…...

从模型到服务:EasyAnimateV5 API开发完整解决方案

从模型到服务&#xff1a;EasyAnimateV5 API开发完整解决方案 1. 为什么需要API服务化 将AI模型封装为API服务是现代AI应用开发的关键步骤。对于EasyAnimateV5这样的图生视频模型&#xff0c;API化能带来多重价值&#xff1a; 降低使用门槛&#xff1a;非技术用户通过简单接…...