首页 > 基础资料 博客日记

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进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云