当前位置: 首页 > 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…...

Adobe-GenP 3.0:三步解锁Adobe全家桶的终极指南

Adobe-GenP 3.0&#xff1a;三步解锁Adobe全家桶的终极指南 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 还在为昂贵的Adobe Creative Cloud订阅费而烦恼吗&#…...

Picotron实战案例:在8个H100 GPU上训练SmolLM-1.7B模型的完整指南

Picotron实战案例&#xff1a;在8个H100 GPU上训练SmolLM-1.7B模型的完整指南 【免费下载链接】picotron Minimalistic 4D-parallelism distributed training framework for education purpose 项目地址: https://gitcode.com/gh_mirrors/pi/picotron Picotron是一个极简…...

终极视频字幕提取指南:用Video-subtitle-extractor轻松获取87种语言字幕

终极视频字幕提取指南&#xff1a;用Video-subtitle-extractor轻松获取87种语言字幕 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含字幕…...

一次讲清本地大模型语音识别三件套:Vulkan 为什么是加速主线,而说话人识别为何成为唯一短板

把 whisper.cpp、sherpa-onnx、llama.cpp 三套引擎整合到一起&#xff0c;再用 Electron 包成桌面应用&#xff0c;这个技术思路本身并不复杂。真正考验工程功力的&#xff0c;是面向完全不懂技术的最终端用户&#xff0c;怎样让这些引擎尽可能“一键加速”&#xff0c;同时还不…...

so_arm101上传云端并握手

采集数据集&#xff1a;一个腕部摄像头lerobot-record \--robot.typeso101_follower \--robot.port/dev/tty.usbmodem5B415317841 \--robot.idzihao_follower_arm \--robot.cameras"{ front: {type: opencv, index_or_path: 0, width: 1920, height: 1080, fps: 60, fourc…...

为什么Detect It Easy成为二进制文件分析的现代选择?

为什么Detect It Easy成为二进制文件分析的现代选择&#xff1f; 【免费下载链接】Detect-It-Easy Program for determining types of files for Windows, Linux and MacOS. 项目地址: https://gitcode.com/gh_mirrors/de/Detect-It-Easy 在恶意软件分析、逆向工程和数字…...

AI建站工具怎么选?一份让你不踩坑的选型标准与对比指南

AI建站工具怎么选&#xff1f;一份让你不踩坑的选型标准与对比指南市面上号称AI建站的工具层出不穷&#xff0c;有的只是给模板加了个AI抠图功能&#xff0c;有的则能真正从0生成代码。对于非技术背景的中小企业主或运营来说&#xff0c;选错工具不仅浪费钱&#xff0c;更浪费时…...

从IMU到GPS:手把手教你用ESKF实现机器人定位(附代码避坑指南)

从IMU到GPS&#xff1a;手把手教你用ESKF实现机器人定位&#xff08;附代码避坑指南&#xff09; 在机器人定位领域&#xff0c;误差状态卡尔曼滤波&#xff08;Error-State Kalman Filter, ESKF&#xff09;正逐渐成为处理IMU和GPS数据融合的主流方法。本文将带您深入理解ESK…...

从RISC-V到SSITH:构建下一代硬件安全架构的开放之路

1. 项目概述&#xff1a;从“亡羊补牢”到“未雨绸缪”的硬件安全范式转移在智能设备无处不在的今天&#xff0c;我们正面临一个尴尬的现实&#xff1a;许多产品的安全设计&#xff0c;更像是在一栋已经建好的毛坯房里&#xff0c;见缝插针地安装防盗门和监控摄像头。这种“事后…...

PostgreSQL 与 MySQL InnoDB 隔离级别 MVCC 核心对比

一、数据库标准四大隔离级别 SQL 标准定义 4 个隔离级别&#xff0c;从低到高&#xff1a; 读未提交&#xff08;Read Uncommitted&#xff09;读已提交&#xff08;Read Committed&#xff0c;RC&#xff09;可重复读&#xff08;Repeatable Read&#xff0c;RR&#xff09;串…...