Springboot プロジェクト PageHelper がバージョン 5.3.2 にアップグレードされ、ページング クエリが失敗する

Springboot プロジェクト PageHelper がバージョン 5.3.2 にアップグレードされ、ページング クエリが失敗する

オンライントラブルシューティング

背景: この現象は、ゲートウェイがエラーを報告したためですFluxOnAssembly$OnAssemblyException。調査の結果、ページネーション クエリ中に 2,000 個を超えるデータが返されたため、データ量がゲートウェイの制限を超え、エラーが発生したことが判明しました。つまり、pageHelper ページネーション クエリは有効になりません

理由:バージョン 5.3.2 にアップグレードした後、pageHelper の設定方法が変更されました。

  • 下位バージョンの設定方法は以下の通りです

  • @Configuration
    public class PageHelperConfig {
          
          
        @Bean
        public PageHelper pageHelper() {
          
          
            PageHelper pageHelper = new PageHelper();
            Properties properties = new Properties();
            properties.setProperty("offsetAsPageNum", "true");
            properties.setProperty("rowBoundsWithCount", "true");
            properties.setProperty("reasonable", "true");
            //配置mysql数据库的方言
            properties.setProperty("dialect", "mysql");
            pageHelper.setProperties(properties);
            return pageHelper;
        }
    }
    

解決:

  • PageHelper を PageInterceptor 経由で登録するように変更します。

  • @Configuration
    public class PageHelperConfig {
          
          
        @Bean
        public PageInterceptor pageInterceptor(){
          
          
            PageInterceptor pageInterceptor = new PageInterceptor();
            Properties properties = new Properties();
            properties.setProperty("offsetAsPageNum", "true");
            properties.setProperty("rowBoundsWithCount", "true");
            properties.setProperty("reasonable", "true");
            //配置mysql数据库的方言
            properties.setProperty("helperDialect", "mysql");
            pageInterceptor.setProperties(properties);
            return pageInterceptor;
        }
    }
    

おすすめ

転載: blog.csdn.net/qq_28959087/article/details/131784234