ページネーションが最大ページ数を超えた後、PageHelperはデータを返します

問題の説明:

マイクロサービスでは、クエリインターフェイスが使用され、pageHelperが使用されます。データベースには8行のデータしかありません。問題は次のとおりです。

pageNum = 1&pageSize = 10の場合、返されるデータはこれらの8つのデータです。

pageNum = 2&pageSize = 10、pageNum = 3&pageSize = 10など...それでもデータが返されます!!!

理由:

これは、合理的なページングパラメータの合理化と呼ばれるpageHelperに付属する機能です。3.3.0以降で使用可能であり、デフォルトはfalseです。合理化が有効になっている場合、pageNum <1の場合は最初のページが照会され、pageNum> pagesの場合は最後のページが照会されます。合理化が無効になっている場合、pageNum <1またはpageNum> pagesが無効になっていると空のデータが返されます。

解決する:

一般的なプロジェクトに参加し<property name="reasonable" value="true" />

Spring Bootプロジェクトの内部:pagehelper.reasonable=true  当为false的时候,如果当前页超过最大页数后,就不会返回数据,当为true的时候,当前页超过最大页数后,会返回最后一页的数据

# PageHelper分页插件
pagehelper:
  helperDialect: mysql
  reasonable: false
  supportMethodsArguments: true
  params: count=countSql

概要: trueかfalseかに関係なく、独自のビジネスシナリオに従って設定できます。最大ページを超える場合は、データを返す必要がある場合はtrueに設定し、返す必要がない場合はfalseに設定します。データを返します。

おすすめ

転載: blog.csdn.net/Tom_sensen/article/details/115327434