[MyBatisPlus]Plus分页插件的配置和使用
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分页插件的配置和使用相关推荐
- 员工管理 Mybatis-Plus的分页插件
员工管理 Mybatis-Plus的分页插件 1.员工管理准备工作 分页插件配置类 分页公共响应类 全局日期转换类 员工类 2.获取所有员工分页查询 EmployeeController IEmplo ...
- MyBatis Plus分页插件常用配置
版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 配置详情 MyBatis Plus分页插件常用配置如下: import com.baomido ...
- MyBatis-Plus中分页插件IPage的使用
MyBatis-Plus中分页插件IPage的使用 使用步骤: 1.服务层的接口需要继承 IService<实体类> ,定义分页查询方法,其返回值类型是 IPage<实体类> ...
- 分页插件PageHelper配置步骤(mybatis)
原理: mybatis执行sql步骤: 通过sqlsessionFactory sqlsession Exector (执行器对象)mappedstatement(sql语句封装) 在执行mapp ...
- PageHelper与MyBatisPlus IPage分页插件的使用区别
IPage分页插件 ①Mapper 定义分页查询接口,入参及返回值需要有IPage类型 IPage<PatientInfo> getPatientPage(IPage<Patient ...
- 使用mybatis-plus的分页插件在开启join优化后,当出现cs、ur、uu等 隔离级别的关键字sql优化时会出现大量警告
版本 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot- ...
- SpringBoot集成MyBatis-Plus分页插件
1.说明 MyBatis使用分页查询功能, 需要配置分页插件, 如果没有配置, 则分页功能不生效. 2.分页查询API 下面列举了两个内置的分页查询API, 使用这些API时需要配置分页插件, 当然也 ...
- MyBatis-Plus分页插件的使用
从MyBatis-Plus 3.4.0开始,不再使用旧版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor. 下面是MyBatis-Plus 3.4 ...
- Mybatis分页插件配置
问题:升级版本到3.5.1后mybatis和mybatis-plus后分页插件不可用. 版本 <dependency><groupId>com.baomidou</gro ...
最新文章
- JSP 第一天:提交表单--获取表单中的数据值
- 首席Execution官
- ASP.NET Core+Quartz.Net实现web定时任务
- php 303,HTTP 的重定向301,302,303,307(转)
- 可选版本 安装软件_【Linux软件】在Deepin系统下安装LibreOffice 6.1.4版本的方法
- css点滴知识汇集(转+编辑)
- Spring.NET 中的 ADO.NET 数据访问的示例
- multiprocessing.manager管理的对象需要加锁吗_iOS内存管理布局及管理方案理论篇
- java中线程总结,JAVA中线程的相关小结
- html超链接点不了_Html使文本可点击而不会超链接
- USB协议详解第9讲(USB描述符-HID描述符)
- 安卓Termux包下载
- c51单片机之数码管显示(共阳极数码管)
- ESP32片外PSRAM
- Python 古诗写入、复制
- 二维码怎么制作?看完这篇你就会了
- 使用java解析Infor XA ERP SystemLink请求响应报文
- access中数据类型转换函数
- WAP网站设计之xhtml mp
- 利用双网卡来提升网速,解决网卡瓶颈
热门文章
- [转]【分布式系统】唯一ID生成策略总结
- 【ArcGIS遇上Python】从入门到精通系列之第二章:ArcGIS Python基本语法基础速递
- Android之设置当前app为默认浏览器研究
- IOS学习笔记十九NSArray和NSMutableArray
- linux之在当前目录下删除不包含aa的文件
- OSI各层相关的协议
- 我怀疑对象做了什么对不起我的事......
- 清华体质优良可降5分录取;窃取密钥者奖百万;阿里投入1亿保护方言;腾讯不正当竞争被罚;这就是今天的大新闻...
- 你被这些网络迷题难倒过吗?
- 程序员找不到对象是因为还没遇到一个有远见的丈母娘