Mybatis分页插件的使用

玩转MyBatis-Plus分页插件一:分页基本使用+方法解释+解析Page对象 mybatisPlus分页插件基本使用流程 阅读详情

1.分页插件的使用步骤

a>添加依赖

<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper</artifactId>
	<version>5.2.0</version>
</dependency>

<!--解决控制台乱码-->
<dependency>
    <groupId>org.jboss</groupId>
    <artifactId>jboss-vfs</artifactId>
    <version>3.2.16.Final</version>
</dependency>

b>配置分页插件

在MyBatis的核心配置文件中配置插件

<plugins>
	<!--设置分页插件-->
	<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>

<plugins>
    <!-- com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageInterceptor">
        <!-- 数据库的类型 -->
        <property name="helperDialect" value="mysql" />
        <!-- 该参数默认为false -->
        <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
        <!-- 和startPage中的pageNum效果一样 -->
        <property name="offsetAsPageNum" value="true" />
        <!-- 该参数默认为false -->
        <!-- 设置为true时,使用RowBounds分页会进行count查询 -->
        <property name="rowBoundsWithCount" value="true" />
        <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
        <!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型) -->
        <property name="pageSizeZero" value="true" />
        <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
        <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
        <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
        <property name="reasonable" value="false" />
        <!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
        <!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
        <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值 -->
        <!-- 不理解该含义的前提下,不要随便复制该配置 -->
        <property name="params" value="pageNum=start;pageSize=limit;" />
        <!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->
        <property name="returnPageInfo" value="check" />
    </plugin>
</plugins>

2.分页插件的使用

a>在查询功能之前使用PageHelper.startPage(int pageNum,int pageSize)开启分页功能

pageNum:当前页的页码

pageSize:每页显示的条数

@Test
    public void testPageHelper(){

        try {
            InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
            SqlSession sqlSession = sqlSessionFactory.openSession(true);
            EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
//            Page<Object> page = PageHelper.startPage(2, 4);
            PageHelper.startPage(2, 4);
            List<Emp> list = mapper.selectByExample(null);
            PageInfo<Emp> page = new PageInfo<>(list,5);
            //list.forEach(emp -> System.out.println(emp));
            System.out.println(page);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 

b>在查询获取list集合之后,使用PageInfo<T> pageInfo = new PageInfo<>(list<T> list,int navigatePages)获取分页相关数据

list:分页之后的数据

navigatePages:导航分页的页码数

 c>分页相关数据

常用数据:

pageNum:当前页的页码

pageSize:每页显示的条数

size:当前页显示的真实条数

total:总记录数

pages:总页数

prePage:上一页的页码

nextPage:下一页的页码

isFirstPage/isLastPage:是否为第一页/最后一页

hasPreviousPage/hasNextPage:是否存在上一页/下一页

navigatePages:导航分页的页码数

navigatepageNums:导航分页的页码,[1,2,3,4,5]

Mybatis分页插件 Mybatis分页插件PageHelper通过简单的配置和使用,可以快速实现分页查询功能,极大地简化了开发过程。同时,了解分页查询的SQL实现原理,有助于我们更好地理解和使用分页插件 阅读详情

相关推荐

KEIL 5.38如何手动安装ARM Compiler V5?完整配置流程分享

本文详细介绍了在KEIL 5.38环境下手动安装和配置ARM Compiler V5(AC5)的完整流程,解决历史遗留项目的兼容性问题。从获取安装包、环境变量设置到KEIL集成配置,逐步指导开发者完成AC5的部署,并提供了常见错误排查和性能优化建议,帮助开发者高效维护基于C编译器的老项目。

weixin_29168813的博客 596

Mybatis 分页插件使用

pageHelper mybatis分页

Alex_cf的博客 3636

python爬取《你好, 李焕英》豆瓣评论数据

# 导入工具包 import requests from bs4 import BeautifulSoup import time import pandas as pd import numpy as np # 请求头 headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36'} # =

python技巧分享 3433

mybatis分页插件使用

mybatis分页插件的简单使用

zgm_dj的博客 3515

【半自动ORM框架 | MyBatis分页插件使用

2022.10.12:初学Java写简单的后台管理难免会受到写分页代码的折磨(我是被折磨了),但是接触到MyBatis框架之后,只需要几个配置和几行代码就可以完成以前好几倍的工作量,本篇文章简述了MyBatis分页插件的整体使用流程,如果能帮到你,倍感荣幸!

weixin_45973679的博客 1082

Mybatis分页插件

1、分页插件 MjBatis通过提供插件机制,让我们可以根据自己的需要去增强MyBats的功能。需要注意的是,如果没有完全理解lMy Batis的运行原理和插件的工作方式,最好不要使用插件,因为它会改变系底层的工作逻辑,给系统带来很大的影响。 MyBatis插件可以在不修改原来的代码的情况下,通过拦截的方式,改变四大核心对象的行为,比如处理参数,处理SQL,处理结果。 Mybatis插件典型适用场景 分页功能 mybatis分页默认是基于内存分页的(查出所有,再截取),数据量大的情况下效率较低,不过使

itzhangzx的博客 3400

Mybatis 是如何进行分页的?分页插件的原理是什么?

MyBatis 通过手动分页、`RowBounds` 分页以及分页插件等多种方式实现分页。手动分页直接在 SQL 语句中使用数据库的分页功能,适用于简单的分页需求;`RowBounds` 是一种内存分页方式,适用于小数据量;而分页插件则通过拦截 SQL 语句,在数据库层面自动实现分页,是一种高效、易用的分页方案。分页插件,如 PageHelper 和 MyBatis-Plus,利用拦截器机制,自动为 SQL 语句添加分页功能,并封装结果集,使得开发者可以更轻松地处理分页查询。

Flying_Fish_roe的博客 2169

MyBatis——分页插件(重要)

分页是开发中必备的技术,MyBatis分页插件提供了大量的信息,熟练掌握该插件对于开发效率非常重要!

雷神乐乐的博客 1731

MyBatis 是如何进行分页的?分页插件的原理是什么?

分页(Pagination)是将一个大的数据集划分为多个小的部分(页面),每个页面包含一定数量的记录。分页的目的是使用户能够方便地查看数据集中的一部分,而不是一次性加载和展示整个数据集。举个例子,假设有一个包含 1000 条用户数据的数据库表。加载时间过长:加载大量数据会消耗大量时间,给用户带来较差的体验。浏览效率低:用户不需要查看所有 1000 条记录,他们可能只关心其中的一部分数据。内存压力大:一次性加载大量数据可能导致服务器内存占用过高,影响系统性能。

青年有志 1522

Mybatis分页插件使用的详解

前言 关于分页,一般来说rowBounds 这种假分页都上不了台面,我们往往都选哟真分页,那么还不想搞得很麻烦,Mybatis分页插件就为后端程序员解决了这个问题 例子 首先需要导入依赖, 没错pagehelper <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <v

商朝 1782

MyBatis逆向工程&分页插件

MyBatis逆向工程&分页插件

Zhuxiaoyu_91的博客 1815

Mybatis分页插件-PageHelper的使用

Mybatis分页插件-PageHelper的使用怎样配置mybatis这里就不提了,我来说说我配置这个分页插件的过程吧。下载JAR包分页插件pagehelper.jar:https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/ http://repo1.maven.org/ma

新涯特 8万+

mybatis分页插件

前言 其实吧,这个分页的封装是我从mybatis实战上抄的,然后又重构了下代码,形成了自己的。现在之所以会记录一下,主要原因是出现了质变———对foreach的支持,而解决这个问题的过程中,我感觉,应该基本上使用上没有多少局限行了。下面说说实际的吧。 设计 基本的设计思路,是使用mybatis插件,首先是下面这一串注解: @Intercepts({@Signature(type = Stateme...

征途无悔 1590

Springboot中使用mybatis分页插件

1、导入依赖(maven) pom.xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>${pagehelper-mybat...

qq_31906861的博客 1万+

MyBatisMyBatis分页插件使用

浅析分页插件的原理:分页插件内置了一个拦截器,当我们将分页插件引入项目中后,一旦调用查询方法就会触发分页插件中的拦截器,拦截器会会将自动将查询结果进行分页展示。由于分页查询比较繁琐,代码逻辑很简单,但是要写很多判断,所以为了简化开发就可以直接使用分页查询插件。CRUD (创建:Create,读取:Read,更新:Update,删除:Delete)IDUS(增:Insert,删:Delete,改:Update,查:Select)其中2,3,4,5,6的数量由导航分页展示数。知道分页查询的规律,同时知道。

热爱编程、热爱生活、热爱探索 1653

Mybatis中的分页插件

根据分页插件能更好的获取到页面的信息根据分页插件能减少web中的link操作,就避免的跳转的麻烦使用分页插件功能,获取页面信息更加的准确。

qq2844509367的博客 1万+

MyBatis分页分页插件使用

MyBatis分页分页插件使用

时光 3579

MyBatis分页插件原理与配置

在当今的软件开发领域,随着数据量的激增,数据库查询的性能问题日益凸显。尤其是在处理大量数据时,如何高效地实现分页查询成为了一个关键的技术挑战。分页插件作为MyBatis框架的一个重要组成部分,能够极大地简化分页查询的实现过程,提高查询效率。下面,我们将深入探讨MyBatis分页插件的概述,并对其作用、优势和应用场景进行详细解析。在传统的分页查询实现中,开发者通常需要手动编写SQL语句来实现分页逻辑,这不仅增加了代码的复杂度,而且容易出错。

我是Java程序员廖志伟,感谢朋友们的支持! 1195

MybatisMybatis分页插件

分页可以将很多条结果进行分页显示。如果当前在第一页,则没有上一页。如果当前在最后一页,则没有下一页。需要明确当前是第几页,这一页中显示多少条结果。MyBatis分页插件总结MyBatis可以使用第三方的插件来对功能进行扩展,分页助手PageHelper是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据开发步骤:①导入与PageHelper的jar包②在mybatis核心配置文件中配置PageHelper插件 ③测试分页数据获取 1.3 分页插件的参数获取 获得分页相关的其他参数: 运行结果:

流楚丶格念的博客 2699

行业分类-外包设计-在方形轴与方孔轴之间传递扭矩的转接件的说明分析.rar

行业分类-外包设计-在方形轴与方孔轴之间传递扭矩的转接件的说明分析.rar

下一篇: Oracle与MySQL的语法区别(其中一些)
༺ༀ酒中人༻
博客等级 码龄6年 2粉丝 2原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值