Plus分页插件的配置和使用

配置类

package com.xxxx.mybatisplus.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
// 扫描mapper接口所在的包
@MapperScan("com.xxxx.mybatisplus.mapper")
public class MyBatisPlusConfig {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor(){MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}}

测试

package com.xxxx.mybatisplus;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xxxx.mybatisplus.mapper.UserMapper;
import com.xxxx.mybatisplus.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
public class MyBatisPlusPluginsTest {@Autowiredprivate UserMapper userMapper;@Testpublic void testPage(){// 第1页,每一页显示3条数据Page<User> page = new Page<>(1,3);userMapper.selectPage(page, null);System.out.println(page);}}

分页相关数据获取

package com.xxxx.mybatisplus;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xxxx.mybatisplus.mapper.UserMapper;
import com.xxxx.mybatisplus.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
public class MyBatisPlusPluginsTest {@Autowiredprivate UserMapper userMapper;@Testpublic void testPage(){// 第1页,每一页显示3条数据Page<User> page = new Page<>(1,3);userMapper.selectPage(page, null);System.out.println(page.getRecords());// 获得当前页数据System.out.println(page.getCurrent());// 获得页码System.out.println(page.getSize());// 获得每页显示条数System.out.println(page.getPages());// 获得总页数System.out.println(page.getTotal());// 获得总记录数System.out.println(page.hasNext());// 是否有下一页System.out.println(page.hasPrevious());// 是否有上一页}}

自定义分页功能

UserMapper

package com.xxxx.mybatisplus.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xxxx.mybatisplus.pojo.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;import java.util.Map;// 将类或者接口标记为持久层组件 这样就不会看见test类中的红线警告了
@Repository
public interface UserMapper extends BaseMapper<User> {/*** 根据id查询用户信息为map集合* @param id* @return*/Map<String,Object> selectMapById(Long id);/*** 如果想通过分页插件作用于我们自己定义的函数,第一个参数必须是Page对象* 通过年龄查询用户信息并分页* @param page MyBatis-Plus所提供的分页对象,必须位于第一个参数的位置* @param age* @return*/Page<User> selectPageVo(@Param("page") Page<User> page,@Param("age") Integer age);}

yaml

UserMapper.xml

<!--    Page<User> selectPageVo(@Param("page") Page<User> page,@Param("age") Integer age);-->
<!--    默认别名就是类名不区分大小写-->
<select id="selectPageVo" resultType="User">select uid,user_name,age,email from user where age > #{age}
</select>

测试

 @Testpublic void testPageVo(){// 第1页,每一页显示3条数据// select uid,user_name,age,email from user where age > ? LIMIT ?Page<User> page = new Page<>(1,3);userMapper.selectPageVo(page, 20);System.out.println(page.getRecords());// 获得当前页数据System.out.println(page.getCurrent());// 获得页码System.out.println(page.getSize());// 获得每页显示条数System.out.println(page.getPages());// 获得总页数System.out.println(page.getTotal());// 获得总记录数System.out.println(page.hasNext());// 是否有下一页System.out.println(page.hasPrevious());// 是否有上一页}

[MyBatisPlus]Plus分页插件的配置和使用相关推荐

  1. 员工管理 Mybatis-Plus的分页插件

    员工管理 Mybatis-Plus的分页插件 1.员工管理准备工作 分页插件配置类 分页公共响应类 全局日期转换类 员工类 2.获取所有员工分页查询 EmployeeController IEmplo ...

  2. MyBatis Plus分页插件常用配置

    版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 配置详情 MyBatis Plus分页插件常用配置如下: import com.baomido ...

  3. MyBatis-Plus中分页插件IPage的使用

    MyBatis-Plus中分页插件IPage的使用 使用步骤: 1.服务层的接口需要继承 IService<实体类> ,定义分页查询方法,其返回值类型是 IPage<实体类> ...

  4. 分页插件PageHelper配置步骤(mybatis)

    原理: mybatis执行sql步骤: 通过sqlsessionFactory  sqlsession Exector  (执行器对象)mappedstatement(sql语句封装) 在执行mapp ...

  5. PageHelper与MyBatisPlus IPage分页插件的使用区别

    IPage分页插件 ①Mapper 定义分页查询接口,入参及返回值需要有IPage类型 IPage<PatientInfo> getPatientPage(IPage<Patient ...

  6. 使用mybatis-plus的分页插件在开启join优化后,当出现cs、ur、uu等 隔离级别的关键字sql优化时会出现大量警告

    版本 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot- ...

  7. SpringBoot集成MyBatis-Plus分页插件

    1.说明 MyBatis使用分页查询功能, 需要配置分页插件, 如果没有配置, 则分页功能不生效. 2.分页查询API 下面列举了两个内置的分页查询API, 使用这些API时需要配置分页插件, 当然也 ...

  8. MyBatis-Plus分页插件的使用

    从MyBatis-Plus 3.4.0开始,不再使用旧版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor. 下面是MyBatis-Plus 3.4 ...

  9. Mybatis分页插件配置

    问题:升级版本到3.5.1后mybatis和mybatis-plus后分页插件不可用. 版本 <dependency><groupId>com.baomidou</gro ...

最新文章

  1. JSP 第一天:提交表单--获取表单中的数据值
  2. 首席Execution官
  3. ASP.NET Core+Quartz.Net实现web定时任务
  4. php 303,HTTP 的重定向301,302,303,307(转)
  5. 可选版本 安装软件_【Linux软件】在Deepin系统下安装LibreOffice 6.1.4版本的方法
  6. css点滴知识汇集(转+编辑)
  7. Spring.NET 中的 ADO.NET 数据访问的示例
  8. multiprocessing.manager管理的对象需要加锁吗_iOS内存管理布局及管理方案理论篇
  9. java中线程总结,JAVA中线程的相关小结
  10. html超链接点不了_Html使文本可点击而不会超链接
  11. USB协议详解第9讲(USB描述符-HID描述符)
  12. 安卓Termux包下载
  13. c51单片机之数码管显示(共阳极数码管)
  14. ESP32片外PSRAM
  15. Python 古诗写入、复制
  16. 二维码怎么制作?看完这篇你就会了
  17. 使用java解析Infor XA ERP SystemLink请求响应报文
  18. access中数据类型转换函数
  19. WAP网站设计之xhtml mp
  20. 利用双网卡来提升网速,解决网卡瓶颈

热门文章

  1. [转]【分布式系统】唯一ID生成策略总结
  2. 【ArcGIS遇上Python】从入门到精通系列之第二章:ArcGIS Python基本语法基础速递
  3. Android之设置当前app为默认浏览器研究
  4. IOS学习笔记十九NSArray和NSMutableArray
  5. linux之在当前目录下删除不包含aa的文件
  6. OSI各层相关的协议
  7. 我怀疑对象做了什么对不起我的事......
  8. 清华体质优良可降5分录取;窃取密钥者奖百万;阿里投入1亿保护方言;腾讯不正当竞争被罚;这就是今天的大新闻...
  9. 你被这些网络迷题难倒过吗?
  10. 程序员找不到对象是因为还没遇到一个有远见的丈母娘