MP实战系列(十四)之分页使用

简介: MyBatis Plus的分页,有插件式的,也有其自带了,插件需要配置,说麻烦也不是特别麻烦,不过觉得现有的MyBatis Plus足以解决,就懒得配置插件了。MyBatis Plus的资料不算是太多,与MyBatis相比。

MyBatis Plus的分页,有插件式的,也有其自带了,插件需要配置,说麻烦也不是特别麻烦,不过觉得现有的MyBatis Plus足以解决,就懒得配置插件了。

MyBatis Plus的资料不算是太多,与MyBatis相比。所以将可能用到的记录下来。分页及其搜索对于web开发是非常常用的。

使用MyBatis Plus已经有5个多月,开发的效率,的确提高不少。虽然前面有MyBatis的逆向工程,可以生成单表的增删改查,但是呢?看起来繁杂,用起来不爽,因为还得看一大堆sql和一些queryvo,看起来就不爽,何况用呢。

MyBatis Plus Github开源地址如下:https://github.com/baomidou/mybatis-plus

至于maven依赖,前面实战系列贴的都有,这里不再重复贴。

来个单元测试示例:

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.baomidou.mybatisplus.plugins.Page;
import com.entity.SysDictData;
import com.service.SysDictDataService;




@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring/spring.xml")
public class JunitTest {


    
    @Autowired
    private SysDictDataService sysDictDataService;
    
    @Test
    public void testName() throws Exception { 

    List<SysDictData> list = sysDictDataService.selectList(null);
    int tatalCount = sysDictDataService.selectCount(null);
    Page<SysDictData> page =new Page<SysDictData>();
    page.setRecords(list);
    page.setCurrent(1);
    page.setLimit(1);
    page.setSize(10);
    page.setTotal(tatalCount);
    System.out.println(page.getRecords())
}   

 

selectList(null)这个方法前面的关于封装方法详解有过说明,这里不再赘述。

 

上面的page.setRecords()、 page.setCurrent()、 page.setLimit()、page.setSize()、 page.setTotal()等等方法,相信有一定编程编程经验或者英语水平一般的人都能看出来是什么意思。

不过这里还是要稍微解释下:

Records:相当于将集合数据放入其中,作为集合数据装载容器

Current:当前页

Limit()相当于 select id,user_name,password from `user` limit 0,5 从索引几开始

Size():每页显示多少条数据

Total():数据总数

至于最后的page.getRecords()就是获取对应的数据。当然如果你要获取当前页或者数据总数可以对象.方法

例如:

page.getTotal(); page.getCurrent();

 

关于MyBatis Plus封装方法讲解可以参考我的如下博客:

MP实战系列(五)之封装方法讲解

MP实战系列(十一)之封装方法详解(续一)

MP实战系列(十二)之封装方法详解(续二)

 

如果对上面的有疑惑,可以留言,说明疑惑,我必尽力详细解答。

当然了,如果你只是使用MyBatis而不是MyBatis,分页可以使用MyBatis的插件,当然了,如果觉得插件配置麻烦了话,可以参考我的这篇文章实现简单分页:

layui前端框架之分页

尽管你不是使用layui,但里面的代码你可以参考。

 

目录
相关文章
|
NoSQL Java Redis
SpringBoot-引入Redis依赖
本文介绍如何在IDEA里将SpringBoot整合Redis。
508 0
|
算法 数据挖掘 Python
Scipy 高级教程——稀疏矩阵
Scipy 高级教程——稀疏矩阵【1月更文挑战第10篇】
405 0
|
10月前
|
消息中间件 存储 分布式计算
分布式系统的演进过程
【10月更文挑战第24天】总的来说,分布式系统的演进是一个不断适应变化、解决问题和创新发展的过程。从早期的萌芽到如今的多元化发展,它见证了技术的进步和应用场景的拓展。在未来,分布式系统将继续在各个领域发挥重要作用,推动着数字化世界的不断前行。
|
9月前
|
存储 算法 编译器
【C语言】register 关键字详解
`register` 关键字是C语言中的一种存储类修饰符,它用于提示编译器将变量存储在CPU寄存器中,而不是在内存中。这种做法旨在提高变量访问的速度,因为访问寄存器比访问内存快得多。
216 1
|
移动开发 小程序 视频直播
FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题
本文讲述了在使用ZLMediaKit进行视频直播时,遇到移动端通过ExoPlayer和微信小程序播放HLS直播地址失败的问题。错误源于ZLMediaKit对HTTP地址的Cookie校验导致401无权限响应。通过修改ZLMediaKit源码,注释掉相关鉴权代码并重新编译安装,解决了此问题,使得ExoPlayer和小程序能成功播放HLS视频。详细解决方案及FFmpeg集成可参考《FFmpeg开发实战:从零基础到短视频上线》一书。
593 3
FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题
IDEA——代码文件如何插入作者注释
IDEA——代码文件如何插入作者注释
165 0
|
监控 Linux KVM
kvm和vmware有什么区别?如何选择?
最终的选择取决于你的组织需求、预算和技术偏好。在做出决策之前,最好进行详细的比较和评估,以确保选择适合你的虚拟化环境。
990 3
|
机器学习/深度学习 存储 人工智能
摆脱 AI 生产“小作坊”:如何基于 Kubernetes 构建云原生 AI 平台
本文将介绍和梳理我们对云原生 AI 这个新领域的思考和定位,介绍云原生 AI 套件产品的核心场景、架构和主要能力。
摆脱 AI 生产“小作坊”:如何基于 Kubernetes 构建云原生 AI 平台
|
应用服务中间件 nginx 数据中心
理解Registrator、Nginx、Consul架构与SpringCloud Feign、grpc、rest通信之间的不同点
在互联网应用领域,服务的动态性需求十分常见,这就对服务的自动发现和可动态扩展提出了很高的要求。
326 0
|
数据安全/隐私保护 iOS开发
如何使用 altool 命令行工具上传 IPA 包:
找到 altool 工具的位置,路径为:/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions/A/Support/altool。 为了方便使用,可以在命令行中添加别名(alias),在 .zshrc 文件中添加以下代码,并运行 source ~/.zshrc,这样就可以在命令行中直接敲 altool -h 了: