Операция настройки пейджинга mybatisPlus

Оглавление

поддерживаемая база данных

плагин подкачки

Пользовательский плагин пагинации


Операции подкачки очень распространены в реальной разработке, и мы можем видеть эффект подкачки на различных платформах и веб-сайтах.

Например: эффект пагинации торгового центра Jingdong.

поддерживаемая база данных

  • mysql, oracle, db2, h2, hsql, sqlite, postgresql, sqlserver, Phoenix, Gauss, clickhouse, Sybase, OceanBase, Firebird, cubrid, goldilocks, csiidb, informix, TDengine, redshift

  • База данных Dameng, база данных Xugu, база данных Jincang университета Renmin, общая база данных Nanda (Huaku), общая база данных Nanda, база данных Shentong, база данных Hangao, база данных Youxuan

Как настроить пейджинг в MybatisPlus? здесь мы думаем

Как реализовать оператор запроса в MybatisPlus, мы можем реализовать оператор запроса двумя способами.

[1] Реализуйте условный запрос с помощью метода, предоставляемого MybatisPlus.

[2] Реализуйте запрос, настроив оператор SQL.

Далее мы продемонстрируем, как реализовать эти два метода пейджинга.

плагин подкачки

В большинстве сценариев, если наш SQL не так сложен, мы можем напрямую реализовать запрос с помощью метода, предоставляемого MybatisPlus.В этом случае мы можем добиться эффекта подкачки, настроив плагин подкачки

Суть пейджинга заключается в настройке перехватчика, перехвате SQL через перехватчик и достижении эффекта пейджинга добавлением ключевого слова limit в конце оператора SQL

Далее смотрим этапы настройки

[1] Укажите подключаемый модуль подкачки конкретной базы данных через класс конфигурации. Поскольку диалекты разных баз данных различаются, сгенерированные конкретные операторы подкачки также будут разными. Здесь мы указываем базу данных как базу данных Mysql.

@Configuration
public class MybatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

 DbType.MYSQL: указывает разбиение на страницы базы данных mysql.

【2】Реализовать эффект запроса разбиения на страницы

@Test
void selectPage(){
    //1.创建QueryWrapper对象
    LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
    //2.创建分页查询对象,指定当前页和每页显示条数
    IPage<User> page = new Page<>(1,3);
    //3.执行分页查询
    userMapper.selectPage(page, lambdaQueryWrapper);
    //4.查看分页查询的结果
    System.out.println("当前页码值:"+page.getCurrent());
    System.out.println("每页显示数:"+page.getSize());
    System.out.println("总页数:"+page.getPages());
    System.out.println("总条数:"+page.getTotal());
    System.out.println("当前页数据:"+page.getRecords());
}

Пользовательский плагин пагинации

В некоторых сценариях нам нужно настроить операторы SQL для запросов. Далее давайте продемонстрируем операцию подкачки пользовательского SQL.

[1] Укажите операторы запроса в файле конфигурации сопоставления UserMapper.xml.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.powernode.mapper.UserMapper">

     <select id="selectByName" resultType="com.powernode.domain.User">
        select * from powershop_user where name = #{name}
     </select>

</mapper>

 [2] Предоставьте соответствующий метод в интерфейсе Mapper, в котором объект IPage передается в качестве параметра.

@Mapper
public interface UserMapper extends BaseMapper<User> {
       IPage<User> selectByName(IPage<User> page, String name);
}
  • Страница параметров: выполнить автоматическую разбивку на страницы для набора результатов запроса, другими словами, указать, как отображать набор результатов запроса. Например: возвращаемый набор результатов должен отображать данные страницы 1 и отображать 10 строк на странице —> новая страница (1,10)
  • Напишите обычный список-запрос: какие данные нужно отобразить, вам нужно только дать мне список. Страница параметров будет разбита на страницы в соответствии с вашими правилами.
  • Наследовать Page для реализации собственного объекта подкачки: для отображения следующей строки, предыдущей строки и т. д. нужно самостоятельно написать правило объекта подкачки.

 【3】Реализовать эффект запроса на разбиение на страницы

@Test
void selectPage2(){
    //1.创建分页查询对象,指定当前页和每页显示条数
    IPage<User> page = new Page<>(1,2);
    //2.执行分页查询
    userMapper.selectByName(page,"Mary");
    //3.查看分页查询的结果
    System.out.println("当前页码值:"+page.getCurrent());
    System.out.println("每页显示数:"+page.getSize());
    System.out.println("总页数:"+page.getPages());
    System.out.println("总条数:"+page.getTotal());
    System.out.println("当前页数据:"+page.getRecords());
}

Объект IPage является встроенным объектом пейджинга в MyBatis-Plus, и свойства, которые могут использоваться в интерфейсе вызова, следующие:

  • записи: запрошенный объект списка
  • pages: общее количество страниц после разбиения на страницы
  • total: общее количество записей
  • текущий: текущий номер страницы
  • размер: количество элементов на странице

Supongo que te gusta

Origin blog.csdn.net/m0_62436868/article/details/131902312
Recomendado
Clasificación