【MyBatis】PageHelper实现分页

news/2024/12/22 14:51:17/

分页

1.引入pom

普通mvc项目引入
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.2</version>
</dependency>
springboot引入<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.12</version></dependency>

2.配置拦截器插件

在MyBatis的xml中配置拦截器插件

<plugins><!-- com.github.pagehelper为PageHelper类所在包名 --><plugin interceptor="com.github.pagehelper.PageInterceptor"><!--reasonable:分页合理化参数,默认值为false,直接根据参数进行查询。当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。--><!--<property name="reasonable" value="true"/>--></plugin>
</plugins>

3.使用

DbStudents 实体类


import lombok.Data;@Data
public class DbStudents {private Integer num;private String name;private Integer age;private String birthday;private String sex;private String address;private String major;

DbStudentsMapper 接口

package com.top.mapper;import com.top.bean.DbStudents;
import java.util.List;
import org.springframework.stereotype.Repository;@Repository
public interface DbStudentsMapper {/*** 多条件分页查询* @param dbStudents* @return*/List<DbStudents> showAllInfo(DbStudents dbStudents);
}

DbStudentsMapper.xml
注意:sql 中就不要写 limit 了,pageHelp 会自己处理,sql 就按正常查询写法就好

<!--多条件分页查询用户-->
<select id="showAllInfo" resultType="com.top.bean.DbStudents">SELECT<include refid="Base_Column_List"/>FROMdb_students<where><if test="num != null">num = #{num,jdbcType=INTEGER},</if><if test="name != null">name = #{name,jdbcType=VARCHAR},</if><if test="age != null">age = #{age,jdbcType=INTEGER},</if><if test="birthday != null">birthday = #{birthday,jdbcType=VARCHAR},</if><if test="sex != null">sex = #{sex,jdbcType=VARCHAR},</if><if test="address != null">address = #{address,jdbcType=VARCHAR},</if><if test="major != null">major = #{major,jdbcType=VARCHAR},</if></where>
</select>

DbStudentsService 业务层接口

public interface DbStudentsService {List<DbStudents> showAllInfo(DbStudents dbStudents);
}

DbStudentsServiceImpl 业务实现层

@Service
public class DbStudentsServiceImpl implements DbStudentsService {@Autowiredprivate DbStudentsMapper dbStudentsMapper;@Overridepublic List<DbStudents> showAllInfo(DbStudents dbStudents) {return dbStudentsMapper.showAllInfo(dbStudents);}
}

最后 DbStudentsController 控制层直接调用

/*** 分页查询所有信息*/
@RequestMapping("showAllInfo")
@ResponseBody
public PageInfo<DbStudents> showAllInfo(@RequestParam(value = "currentPage", required = false, defaultValue = "1") Integer pageNum,@RequestParam(value = "pageSize", required = false, defaultValue = "3") Integer pageSize,DbStudents dbStudents) {// 使用mybatis的分页插件完成我们的分页查询PageHelper.startPage(pageNum, pageSize);List<DbStudents> employeeList = dbStudentsService.showAllInfo(dbStudents);PageInfo<DbStudents> pageInfo = new PageInfo(employeeList);return pageInfo;
}

1.引入pom

1.引入pom

1.引入pom

1.引入pom


http://www.ppmy.cn/news/85976.html

相关文章

C++ 函数模板基础

文章目录 一、什么是函数模板二、函数模板的优点1、代码重用2、类型安全3、可读性4、泛型编程5、性能优化6、库开发 三、函数模板的使用场景1、通用操作2、数据结构与容器操作3、排序与查找算法4、数学与统计函数5、类型转换器6、自定义函数对象 四、模板参数的声明&#xff08…

Spark 3:Spark Core RDD持久化

RDD 的数据是过程数据 RDD 的缓存 # coding:utf8 import timefrom pyspark import SparkConf, SparkContext from pyspark.storagelevel import StorageLevelif __name__ __main__:conf SparkConf().setAppName("test").setMaster("local[*]")sc SparkC…

Java并发体系-锁与同步-[1]

本阶段文章讲的略微深入&#xff0c;一些基础性问题不会讲解&#xff0c;如有基础性问题不懂&#xff0c;可自行查看我前面的文章&#xff0c;或者自行学习。本篇文章比较适合校招和社招的面试&#xff0c;笔者在2020年面试的过程中&#xff0c;也确实被问到了下面的一些问题。…

【腾讯云FinOps Crane 集训营】 Crane入门

前言 随着云计算的快速发展和云原生应用的兴起&#xff0c;容器技术成为了现代化应用部署和管理的重要工具。 越来越多的公司正在选择将应用运行在云上或者自建的 Kubernetes 集群上&#xff0c;但是许多机构的调研 发现&#xff0c;绝大多数的用户集群资源利用率并不高&…

软件测试基础知识整理(八)- 软件缺陷

目录 一、软件缺陷 1.1 缺陷定义 1.2 缺陷判定标准 1.3 软件缺陷产生的原因 1.4 软件缺陷产生的根源 1.5 软件缺陷信息 1.5.1 缺陷状态 1.5.2 缺陷严重程度 1.5.3 缺陷优先级 1.6 缺陷报告模板 1.7 缺陷报告注意事项 1.8 缺陷跟踪流程 1.9 缺陷数据分析关注的问题 …

我的创作纪念日 - 拥抱AI时代

思考三个可行的用AI创业方案&#xff0c;且每个方案的成本控制到不超500美元 1. 基于机器学习的翻译工具 执行步骤&#xff1a; 使用机器学习技术&#xff0c;如神经网络&#xff0c;构建翻译模型 将翻译功能整合到网站或App上&#xff0c;实现智能在线翻译 不断优化并添加新…

基于BES2300 SDK平台数字音频信号算法处理实验

++v hezkz17进数字音频系统研究开发交流答疑 1 可以对提示音音频数据进行滤波处理。 2 可以对BT音频流数据进行滤波处理。 3 可以对通话音频流数据进行滤波处理。 4 可以对外置Line-in ADC I2S/TDM 数据进行滤波处理。 下面是一个使用C语言实现的IIR音频高通滤波器算法: #i…

电子科技大学编译原理复习笔记(三):控制结构

目录 前言 重点一览 语句级控制结构 单元级控制结构 四种单元级控制结构 本章小结 前言 本复习笔记基于张老师的课堂PPT&#xff0c;供自己期末复习与学弟学妹参考用。 重点一览 语句级控制结构 定义&#xff1a;用来构造各种语句执行顺序的机制 传统三种语句级控制结…