首页 > 基础资料 博客日记
Mybatis-Plus分页查询
2023-09-11 17:52:16基础资料围观309次
本篇文章分享Mybatis-Plus分页查询,对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识
分页插件
1、调用通用mapper提供的selectPage分页方法;
2、自定义查询方法使用分页功能:
- mapper接口中的方法返回值是Page<User>类型
- 第一个参数要求是Page<User>类型
3、映射文件中可以使用sql标签定义公共sql片段,在要使用的地方使用include标签进行引用。
application.yml
server:
port: 8080
#数据源配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatisplus212?characterEncoding=utf-8&serverTimezone=UTC
username: root
password: 123456
type: com.zaxxer.hikari.HikariDataSource
mybatis-plus:
configuration:
#配置日志信息
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#配置mapper映射文件的位置,默认在类路径/mapper*.xml
mapper-locations: classpath:/mapper/*.xml
#设置指定包下所有类设置类型别名
type-aliases-package: com.dzqc.pojo
global-config:
db-config:
#统一设置实体类对应的数据表的默认前缀
table-prefix: t_
#设置主键自增
id-type: auto
创建一个MyBatisPlusConfig类,先建一个包config
package com.dzqc.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyBatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
//添加分页插件
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
//添加乐观锁插件
mybatisPlusInterceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return mybatisPlusInterceptor;
}
}
测试类Page
package com.dzqc;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dzqc.mapper.UserMapper;
import com.dzqc.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
public class PageTest {
@Autowired
private UserMapper userMapper;
@Test
public void testpage(){
//设置分页参数
Page<User> page = new Page<>(1,2);
//调用分页查询方法
userMapper.selectPage(page,null);
List<User> records = page.getRecords();
records.forEach(System.out::println);
System.out.println("总页数:"+page.getPages());
System.out.println("总记录数:"+page.getTotal());
System.out.println("当前页码:"+page.getCurrent());
System.out.println("每页记录数:"+page.getSize());
System.out.println("是否有上一页:"+page.hasPrevious());
System.out.println("是否有下一页:"+page.hasNext());
}
@Test
public void testPage2(){
//设置分页参数
Page<User> page = new Page<>(1, 2);
//调用自定义分页查询方法
userMapper.selectPageByAge(page,20);
//获取分页查询结果
List<User> records = page.getRecords();
records.forEach(System.out::println);
System.out.println("总页数:"+page.getPages());
System.out.println("总记录数:"+page.getTotal());
System.out.println("当前页码:"+page.getCurrent());
System.out.println("每页记录数:"+page.getSize());
System.out.println("是否有上一页:"+page.hasPrevious());
System.out.println("是否有下一页:"+page.hasNext());
}
}
测试结果
文章来源:https://blog.csdn.net/m0_68367226/article/details/130587602
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
上一篇:Tomcat部署web项目的三种方式
下一篇:Spring 注入集合