[Spring Boot] Requête de pagination

Requête de pagination

La requête de pagination est une fonction couramment utilisée dans le développement quotidien. Il existe également de nombreux plug-ins sous le framework MyBatis pour implémenter des fonctions de pagination, telles que pageHelper. Il s'agit d'un plug-in de pagination très simple et facile à utiliser qui peut être bien intégré à Spring Boot. pageHelper est un plug-in de pagination de base de données basé sur MyBatis, donc lorsque nous l'utilisons, nous devons utiliser MyBatis comme cadre de couche de persistance. Ce qui suit utilise un exemple pour montrer comment pageHelper implémente les requêtes de pagination.

1. Ajouter une dépendance pageHelper

Modifiez le fichier pom.xml et ajoutez la dépendance pageHelper :

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

pageHelper fournit la bibliothèque de dépendances pagehelper-spring-boot-starter pour le framework Spring Boot. Vous pouvez utiliser le composant pagehelper-spring-boot-starter pour les projets Spring Boot.

2. Ajouter la configuration de pageHelper

Ajoutez la configuration de pageHelper dans application.properties.

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

L'exemple ci-dessus est la configuration initiale du framework de pagination pageHelper, qui est principalement utilisé pour spécifier le type de base de données.

  • helperDialect : Spécifiez le type de base de données, qui n'a pas besoin d'être configuré. Le plug-in pageHelper détectera automatiquement le type de base de données.
  • Raisonnable : paramètre de rationalisation de la pagination, la valeur par défaut est false. Lorsque ce paramètre est défini sur true, lorsque pageNum ≤ 0, la première page est affichée par défaut. Lorsque pageNum dépasse pageSize, la dernière page est affichée.
  • supportMethodsArguments : Le plug-in de pagination prendra automatiquement la valeur dans le champ configuré par params en fonction des paramètres de la méthode de requête. Lorsqu'une valeur appropriée est trouvée, elle sera automatiquement paginée.
  • params : utilisé pour obtenir la valeur de l'objet en fonction du nom de l'attribut. Vous pouvez configurer pageNum et pageSize. Count n'a pas besoin de configurer la valeur par défaut du mappage.

3. Appelez le test

Ajoutez une méthode de test unitaire pour vérifier si la fonction de pagination prend effet. L'exemple de code est le suivant :

 @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());
        }
    }

Dans l'exemple ci-dessus, le cœur de la pagination est constitué d'une seule ligne de code, PageHelper.startPage(page,pageSize); qui marque le début de la pagination. Après avoir ajouté cette ligne de code, le plug-in pageHelper convertira l'instruction SQL exécutée en une instruction SQL de pagination via son intercepteur interne.

Cliquez sur Exécuter le test ou cliquez avec le bouton droit sur la méthode et sélectionnez Exécuter 'testSelectListPaged' pour afficher les résultats du test unitaire. Les résultats en cours d'exécution sont tels qu'indiqués dans la figure.

Insérer la description de l'image ici
Les résultats montrent que la méthode de test unitaire s'exécute avec succès et que la console affiche la liste de données de la page actuelle, le nombre total de pages, le nombre total d'éléments de données et la page actuelle. Cela montre que la fonction de pagination est implémentée avec succès à l'aide du plug-in pageHelper.

Lorsqu'il est utilisé, PageHelper.startPage(pageNum, pageSize) doit être placé dans la méthode de requête de liste, afin que le volume de données et le nombre total correspondants soient trouvés lors de la requête.

Guess you like

Origin blog.csdn.net/weixin_45627039/article/details/132708522