Mybatis ページングプラグイン pageHelper の詳細な説明と簡単な例

Mybatis ページングプラグイン pageHelper の詳細な説明と簡単な例

Mybatis ページングプラグイン pageHelper の詳細な説明と簡単な例

動作フレームワーク Spring Springmvc Mybatis3

まず、ページングプラグインを使用するには、Mavenの依存関係を導入する必要があります。pom.xmlに以下を追加します。

<!-- ページネーションヘルパー -->
<依存関係>
<groupId>com.github.pagehelper</groupId>
<artifactId>ページヘルパー</artifactId>
<バージョン>3.7.5</バージョン>
</依存関係>

次に、設定ファイルに設定を追加する必要があります。方法は2つあります。

1. 次の内容で新しいmybatis-config.xmlファイルを作成します。

<?xml バージョン="1.0" エンコーディング="UTF-8"?>
<!DOCTYPE 設定
 パブリック "-//mybatis.org//DTD 構成 3.0//EN"
 「http://mybatis.org/dtd/mybatis-3-config.dtd」を参照してください。

 <構成>
 <!-- ページネーションヘルパー -->
 <プラグイン>
  <!-- com.github.pagehelper は PageHelper クラスのパッケージ名です -->
  <プラグインインターセプター="com.github.pagehelper.PageHelper">
  <!-- データベース方言 -->
    <プロパティ名="方言" 値="MySQL"/>
    <!-- true に設定すると、RowBounds ページングを使用して、合計数を見つけるためのカウント クエリが実行されます -->
    <プロパティ名="rowBoundsWithCount" 値="true"/>
  </プラグイン>
</プラグイン>
 </構成>

spring-mybatis.xmlにBeanプロパティを追加する

<bean id="sqlSessionFactory" クラス="org.mybatis.spring.SqlSessionFactoryBean">
<プロパティ名="データソース" ref="データソース" />

グローバル設定ファイルをロードする

<プロパティ名="configLocation" 値="classpath:mybatis-config.xml"></プロパティ>

すべての mapper.xml マッピング ファイルを見つけるために、マッパー スキャンを構成します。

<プロパティ名="mapperLocations" 値="classpath:com/lyitong/mapping/*.xml"></プロパティ>

注: mybatis-config.xml 構成ファイルで次のエイリアス構成が有効になっている場合:

<タイプエイリアス>
    <!-- クラスの最初の文字が小文字の javabean の非修飾クラス名がエイリアスとして使用されます (実際、エイリアスは大文字と小文字を区別しません)。 JavaBeanに@Aliasアノテーションを追加してエイリアスを定義することもできます。例:@Alias(student) -->
    <パッケージ名="com.lyt.usermanage.mapper"/>
  </typeAliases>

次に、Spring と mybatis の統合ファイルに対応するプロパティを追加する必要があります。そうしないと、mybatis 構成ファイルの読み込みに失敗し、次のように例外が報告されます。

 <bean id="sqlSessionFactory" クラス="org.mybatis.spring.SqlSessionFactoryBean">
    <プロパティ名="データソース" ref="データソース" />
    <!-- グローバル設定ファイルをロードします -->
    <プロパティ名="configLocation" 値="classpath:mybatis/mybatis-config.xml"></プロパティ>
    <!-- すべての mapper.xml マッピング ファイルを検索するようにマッパー スキャンを構成します。 -->
    <プロパティ名="mapperLocations" 値="classpath:com/lyt/usermanage/mapper/*.xml"></プロパティ>
    <!-- 設定タイプのエイリアス -->
    <プロパティ名="typeAliasesPackage" 値="classpath:com/lyt/usermanage/pojo/*"></プロパティ>
  </bean>

上記の構成と比較すると、ここではもう1つのステップがあります

    <プロパティ名="typeAliasesPackage" 値="classpath:com/lyt/usermanage/pojo/*"></プロパティ>

設定する際は、mybatis 設定ファイルと spring-mybatis 統合ファイルのプロパティの統一に注意してください。

2. 上記の設定が完了したら、次の2番目の方法に進みます。

spring-mybatis.xmlで以下のプロパティを直接設定します。

<bean id="sqlSessionFactory" クラス="org.mybatis.spring.SqlSessionFactoryBean">
<プロパティ名="データソース" ref="データソース" />
<プロパティ名="mapperLocations" 値="classpath:com/lyitong/mapping/*.xml"></プロパティ>

<!-- pageHelper ページング プラグイン-->
<プロパティ名="プラグイン">
  <配列>
   <bean class="com.github.pagehelper.PageHelper">
    <プロパティ名="プロパティ">
     <値>
      方言=mysql
      行境界カウント=true
     </値>
    </プロパティ>
   </bean>
  </配列>
</プロパティ>
</bean>

設定ファイルをロードしたら、そのまま使用できます。具体的な使用方法のコードは次のとおりです。

PageHelper.startPage(Integer.parseInt(currentPage), Integer.parseInt(pageSize));
  リスト<LytBbsTz> publishTz = bbsTzDao.getPublishTz(userId);
  PageInfo<LytBbsTz> info = 新しい PageInfo<LytBbsTz>(publishTz);
  map.put("ステータス", 1);
  map.put("tzList", info.getList());
  マップを返します。

フロントエンドで渡す必要があるパラメータは現在のページと表示するページ数です。もちろん、表示するページ数はバックエンドで指定することもできます。一般的には、パラメータを受け取るときに次のようにデフォルト設定を追加するのが最適です。

@RequestParam(defaultValue="1",value="currentPage")文字列 currentPage、@RequestParam(defaultValue="10",value="pageSize")文字列 pageSize

これは、受信したパラメータが空の文字列の場合に表示されるデフォルトのページと項目数です。これは自分で設定できます。

上記はpageHelperの簡単な応用例です

読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。

以下もご興味があるかもしれません:
  • Mybatis ページングプラグイン PageHelper の使い方の詳しい説明
  • SpringBoot プロジェクトにおける無効なページング プラグイン PageHelper の問題と解決策
  • SpringMvc+Mybatis+Pagehelper ページングの詳細
  • PageHelper プラグインを使用して 1 対多クエリを実装する際のページングの問題
  • Spring Boot+Mybatis+Druid+PageHelper は、マルチデータソースとページングメソッドを実装します。
  • Springbootはページヘルパーページング機能を統合します
  • Mybatis ページングプラグイン PageHelper の設定と簡単な使用方法 (推奨)
  • SpringBoot は MyBatis のページング プラグイン PageHelper のサンプル コードを統合します。
  • ページング効果を実現するには、mybatis プラグイン PageHelper を使用します。
  • PageHelperプラグインを使用してサービス層のページングを実装する

<<:  VueはElementUIのフォームサンプルコードを模倣する

>>:  CentOS 7 に Docker 1.8 をインストールする詳細な手順

推薦する

Centos 7にmysql5.7.24バイナリバージョンをインストールする方法と解決方法

MySQLバイナリのインストール方法mysqlをダウンロード参考: 1. パッケージを解凍する ta...

CocosCreatorゲームにおける魚群アルゴリズムの詳細な説明

序文最近CocosCreatorを学びたいと思ったので、エディターをダウンロードして起動しました。誰...

CSS で適応型ディバイダーを巧みに実装する N 通りの方法

分割線はウェブページでよく使われるデザインです。例えば、Zhihuのその他の回答をご覧ください。 こ...

ウェブサイトのユーザビリティとコンバージョン率を向上させる 25 のツール

ウェブサイトの場合、ユーザビリティとは、ユーザーが必要な情報を効果的に見つけたり、タスクを完了したり...

iframe を通じて DOM 要素のサイズ変更を監視する

開発プロセス中によく発生する問題は、div のサイズ変更をどのように監視するかということです。たとえ...

mysql8.0 Windows x64 zip パッケージのインストールと構成のチュートリアル

MySQL 8 Windows版 zipインストール手順(ダウンロードアドレス) 1. ZIPファイ...

VMware ESXi CLI の一般的なコマンドを調べる

目次【共通コマンド】 [一般的な esxi コマンドの概要] [esxcli コマンドの調査] ES...

mysql5.7.21 の異常起動を修正する方法

同僚から、停電のため MySQL インスタンスを起動できないという報告がありました。 innodb_...

Linuxはバイナリモードを使用してmysqlをインストールします

この記事では、LinuxにバイナリモードでMySQLをインストールする具体的な手順を参考までに紹介し...

CSS チュートリアル: CSS 属性メディア タイプ

スタイルシートの最も重要な機能の 1 つは、ページ、画面、電子シンセサイザーなどの複数のメディアに適...

JS はデータ URL をどのように理解するのでしょうか?

目次概要データ URL の使用を開始するデータURL構文複数言語の文字列のBase64エンコードとデ...

Dockerイメージ構築原理の分析(Dockerをインストールしなくてもイメージを構築できる)

イメージの構築は、DevOps プロセスにおいて非常に重要なプロセスです。一般的に、イメージの構築と...

Nginx 構成 80 ポート アクセス 8080 とプロジェクト名アドレス メソッド分析

Tomcatはプロジェクトにアクセスします。通常はIP + ポート + プロジェクト名です。 Ngi...

Docker で MySQL クラスターを構築する方法の例

Docker の基本的な手順:アップデートパッケージ yum -y アップデートDocker仮想マシ...