[Spring Boot] Consulta de paginação

Consulta de paginação

A consulta de paginação é uma função comumente usada no desenvolvimento diário. Existem também muitos plug-ins na estrutura MyBatis para implementar funções de paginação, como pageHelper. Este é um plug-in de paginação muito simples e fácil de usar que pode ser bem integrado ao Spring Boot. pageHelper é um plug-in de paginação de banco de dados baseado em MyBatis, portanto, quando o usamos, precisamos usar MyBatis como estrutura da camada de persistência. A seguir é usado um exemplo para demonstrar como o pageHelper implementa consultas de paginação.

1. Adicionar dependência pageHelper

Modifique o arquivo pom.xml e adicione a dependência pageHelper:

<dependency>
     <groupId>com.github.pagehelper</groupId>
     <artifactId>pagehelper-spring-boot-starter</artifactId>
     <version>1.4.6</version>
</dependency>

pageHelper fornece a biblioteca de dependência pagehelper-spring-boot-starter para a estrutura Spring Boot. Para projetos Spring Boot, você pode usar o componente pagehelper-spring-boot-starter.

2. Adicionar configuração do pageHelper

Adicione a configuração do pageHelper em application.properties.

# 分页框架
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

O exemplo acima é a configuração inicial da estrutura de paginação pageHelper, que é usada principalmente para especificar o tipo de banco de dados.

  • helperDialect: Especifique o tipo de banco de dados, que não precisa ser configurado. O plug-in pageHelper detectará automaticamente o tipo de banco de dados.
  • Razoável: parâmetro de racionalização de paginação, o padrão é falso. Quando este parâmetro é definido como verdadeiro, quando pageNum ≤ 0, a primeira página é exibida por padrão. Quando pageNum excede pageSize, a última página é exibida.
  • supportMethodsArguments: O plug-in de paginação assumirá automaticamente o valor do campo configurado nos parâmetros de acordo com os parâmetros do método de consulta. Quando um valor adequado for encontrado, ele irá paginar automaticamente.
  • params: usado para obter o valor do objeto com base no nome do atributo. Você pode configurar pageNum e pageSize. Count não precisa configurar o valor padrão do mapeamento.

3. Chame o teste

Adicione um método de teste de unidade para verificar se a função de paginação entra em vigor. O código de exemplo é o seguinte:

 @Test
    public void testSelectListPaged() {
    
    
        PageHelper.startPage(1,5);
        List<Student> students = studentMapper.selectAll();
        PageInfo<Student> pageInfo = new PageInfo<Student>(students);
        System.out.println("总页数:"+pageInfo.getPages()+",总条数:"+pageInfo.getTotal()+",当前页:"+pageInfo.getPageNum());
        for (Student stu : students) {
    
    
            System.out.println("name:"+stu.getName()+",age:"+stu.getAge());
        }
    }

No exemplo acima, o núcleo da paginação é apenas uma linha de código, PageHelper.startPage(page,pageSize); que marca o início da paginação. Depois de adicionar esta linha de código, o plug-in pageHelper converterá a instrução SQL executada em uma instrução SQL de paginação por meio de seu interceptor interno.

Clique em Executar teste ou clique com o botão direito no método e selecione Executar 'testSelectListPaged' para visualizar os resultados do teste de unidade. Os resultados da execução são mostrados na figura.

Insira a descrição da imagem aqui
Os resultados mostram que o método de teste de unidade foi executado com sucesso e o console exibe a lista de dados da página atual, o número total de páginas, o número total de itens de dados e a página atual. Isso mostra que a função de paginação foi implementada com sucesso usando o plug-in pageHelper.

Quando usado, PageHelper.startPage(pageNum, pageSize) deve ser colocado no método de consulta de lista, para que o volume de dados e o número total correspondentes sejam encontrados durante a consulta.

Acho que você gosta

Origin blog.csdn.net/weixin_45627039/article/details/132708522
Recomendado
Clasificación