MybatisPlus-18.插件功能-分页插件的基本用法

步骤

1.配置

package com.itheima.mp.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
@MapperScan("com.itheima.mp.mapper")
public class MybatisPlusConfig {

    /**
     * 添加分页插件
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();

        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加
        // 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType
        return interceptor;
    }
}

2.3.5.9以上版本需要注意的问题

需要添加额外配置

        
            com.baomidou
            mybatis-plus-jsqlparser
            3.5.9 
        

3.测试

package com.itheima.mp.service;

import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.itheima.mp.domain.po.User;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.time.LocalDateTime;
import java.util.List;

import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
class IUserServiceTest {
    @Autowired
    private  IUserService userService;

    @Test
    void testPageQuery() {
        int pageNo = 1;
        int pageSize = 2;
        //1.1准备分页条件
        //page出现错的原因是我们调用的不对,不是从对应的jar包调用的
        Page page = Page.of(pageNo, pageSize);

        //1.2.排序条件
        //版本变化调用方法变化。
        page.addOrder( OrderItem.asc("balance"));
        page.addOrder( OrderItem.asc("id"));
        //2.分页查询
        Page p = userService.page(page);
        //3.解析
        long total = p.getTotal();
        System.out.println("总记录数:" + total);
        long pages = p.getPages();
        System.out.println("总页数:" + pages);
        List users = p.getRecords();
        users.forEach(System.out::println);
    }

}

说明:你可能会遇到page无法添加User类对象的问题

addOrder报错的问题,springboot3与springboot2不一样。请查看官网使用的参数调用

4.测试结果

MybatisPlus-18.插件功能-分页插件的基本用法_第1张图片

你可能感兴趣的:(mybatis-plus,java,mybatis)