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

通用Mapper + PageHelper:MyBatis分页插件终极实战教程

通用Mapper + PageHelper:MyBatis分页插件终极实战教程

【免费下载链接】spring-boot-demo🚀一个用来深入学习并实战 Spring Boot 的项目。项目地址: https://gitcode.com/gh_mirrors/sp/spring-boot-demo

在Spring Boot开发中,MyBatis作为一款优秀的ORM框架被广泛应用。而通用Mapper和PageHelper作为MyBatis的两款实用插件,能够极大地简化数据访问层代码,提升开发效率。本文将为你详细介绍如何在Spring Boot项目中整合通用Mapper和PageHelper,实现高效的分页查询功能。

核心依赖配置

要使用通用Mapper和PageHelper,首先需要在项目的pom.xml文件中添加相关依赖。以demo-orm-mybatis-mapper-page模块为例,关键依赖如下:

<!-- 通用Mapper --> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.1.5</version> </dependency> <!-- PageHelper --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.13</version> </dependency>

配置Mapper扫描

在Spring Boot应用主类上添加@MapperScan注解,指定Mapper接口所在的包路径。注意这里使用的是tk.mybatis.spring.annotation.MapperScan:

@SpringBootApplication @MapperScan(basePackages = {"com.xkcoding.orm.mybatis.MapperAndPage.mapper"}) public class SpringBootDemoOrmMybatisMapperPageApplication { public static void main(String[] args) { SpringApplication.run(SpringBootDemoOrmMybatisMapperPageApplication.class, args); } }

定义实体类和Mapper接口

创建实体类User,对应数据库中的用户表:

public class User { private Long id; private String name; private Integer age; // 省略getter和setter方法 }

创建UserMapper接口,继承Mapper接口,即可获得通用的CRUD方法:

public interface UserMapper extends Mapper<User> { // 可以添加自定义查询方法 }

PageHelper分页实现

使用PageHelper进行分页查询非常简单,只需在执行查询前调用PageHelper.startPage方法:

// 分页查询示例 public PageInfo<User> getUserList(int currentPage, int pageSize) { // 设置分页参数 PageHelper.startPage(currentPage, pageSize); // 执行查询 List<User> userList = userMapper.selectAll(); // 封装分页结果 return new PageInfo<>(userList); }

还可以指定排序字段:

PageHelper.startPage(currentPage, pageSize, "age DESC"); List<User> userList = userMapper.selectAll();

测试分页功能

在测试类中编写测试方法,验证分页功能是否正常:

@Test public void testPageHelper() { int currentPage = 1; int pageSize = 3; PageHelper.startPage(currentPage, pageSize); List<User> userList = userMapper.selectAll(); PageInfo<User> pageInfo = new PageInfo<>(userList); System.out.println("总记录数:" + pageInfo.getTotal()); System.out.println("总页数:" + pageInfo.getPages()); System.out.println("当前页数据:" + userList.size()); }

实际应用场景

在实际项目中,分页查询通常与前端表格组件配合使用。前端通过传递页码和每页条数,后端返回分页数据,包括当前页数据、总记录数、总页数等信息,以便前端渲染分页控件。

常见问题解决

  1. 分页失效问题:确保PageHelper.startPage方法在查询方法之前调用,且中间没有执行其他SQL操作。

  2. 排序字段错误:排序字段应与数据库表中的字段名保持一致,而非实体类的属性名。

  3. 通用Mapper方法不生效:检查Mapper接口是否正确继承了tk.mybatis.mapper.common.Mapper接口。

通过以上步骤,你已经掌握了在Spring Boot项目中使用通用Mapper和PageHelper实现分页查询的方法。这两个插件的结合使用,不仅简化了代码,还提高了开发效率,是MyBatis开发中的实用技巧。

如果你想深入学习更多Spring Boot相关技术,可以参考项目中的其他模块,如demo-orm-mybatis、demo-orm-mybatis-plus等,获取更多实战经验。

【免费下载链接】spring-boot-demo🚀一个用来深入学习并实战 Spring Boot 的项目。项目地址: https://gitcode.com/gh_mirrors/sp/spring-boot-demo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/706588/

相关文章:

  • 如何掌握PyTorch Image Models自适应池化层:提升图像分类性能的终极指南
  • 机器学习数据准备:核心技术与实战经验
  • 2025届必备的十大AI辅助写作神器推荐榜单
  • SolidUI:基于AI与RLHF的自然语言图形生成平台架构与实践
  • 2026成都周边健身器材店选型:四川健身器材批发厂家、四川健身房健身器材、四川室外体育健身器材、四川室外健身器材选择指南 - 优质品牌商家
  • 嵌入式轻量级压缩算法Heatshrink解析与应用
  • Appium Inspector不只是查看器:5个提升自动化脚本编写效率的隐藏技巧
  • SpringBoot+Vue小型民营加油站管理系统源码+论文
  • 2026四川优质电缆厂家排名适配重点工程采购:成都电线电缆厂有哪些、成都电线电缆生产厂家、成都电缆厂家有哪些、成都电缆厂电话和地址选择指南 - 优质品牌商家
  • 智能体推理开发指南:从思维链到多智能体协作实战
  • 【2026年拼多多暑期实习/春招- 4月26日-第一题- 多多Token】(题目+思路+JavaC++Python解析+在线测试)
  • 机器学习随机算法实验重复次数的统计确定方法
  • Kala ISO 8601调度语法详解:从基础时间格式到复杂间隔配置
  • BusKill USB安全线缆:硬件级数据保护方案解析
  • 基于eBPF的ingraind安全监控探针:原理、部署与实战指南
  • 位运算技巧终极指南:高效计算与内存优化实战
  • AI智能体技能库:标准化、可复用的模块化开发实践
  • 从MySQL/Oracle迁移到人大金仓:安装后第一件事,用KDTS迁移工具搞定数据和结构
  • 2026年VR虚拟现实开发费用全解析:医疗行业AR开发公司哪家靠谱/四川vr制作公司/国内vr虚拟现实开发公司排行/选择指南 - 优质品牌商家
  • Marzipano 核心组件深度解析:从几何体到渲染器的完整架构
  • Memoh:构建个人知识图谱,打造高效第二大脑
  • 机器学习实验管理的系统化方法与工程实践
  • Geo-Bootstrap实战案例:创建具有90年代魅力的个人作品集网站
  • 开发者必备:开源命令行工具箱Toolmate的设计原理与实战应用
  • SpringBoot+Vue大学生志愿者信息管理系统源码+论文
  • Marzipano 性能优化指南:多分辨率加载与缓存策略
  • Motor Admin与现有系统集成:无缝对接企业应用生态
  • 词嵌入技术解析:从Word2Vec到工业应用
  • 词袋模型原理与NLP文本分类实战指南
  • 生成式LSTM:从原理到实战的序列生成指南