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 をインストールする詳細な手順

推薦する

Linux で MySQL をインストールして設定する

システム: Ubuntu 16.04LTS 1\公式サイトからmysql-5.7.18-linux-...

jQueryはシンプルなボタンの色の変更を実装します

HTML と CSS で、ボタンの色を設定したいとします。 目的の効果は得られますが、プロセスはかな...

MySQL 5.7.24 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、参考までにMySQL 5.7.24圧縮パッケージのインストールチュートリアルを紹介しま...

Vue は QR コード スキャン機能を実装します (スタイル付き)

必要: vue を使用して QR コードのスキャンを実現します。プラグイン: QRコードリーダー;プ...

js はランダムロールコールを実装します

この記事では、ランダムロールコールを実装するためのjsの具体的なコードを参考までに共有します。具体的...

ファイルをアップロードするための HTML フォームの「参照」ボタンを変更する方法

コードをコピーコードは次のとおりです。 <!DOCTYPE HTML PUBLIC "...

Vue3 親子コンポーネントパラメータ転送における sync 修飾子の使用法の詳細な説明

目次一方向データフローの説明Vue2.x の使用法親コンポーネントに変更を通知するイベントのフォーム...

時間のかかるMySQLレコードのSQL例の詳細な説明

mysqlは時間のかかるSQLを記録しますMySQL は、最適化と分析のために、時間のかかる SQL...

AngularとIonicのライフサイクルとフック関数を素早く理解するための記事

目次角度成し遂げる呼び出し順序知らせイオニックionic はページのライフサイクルをどのように処理し...

MySql インデックス使用戦略の分析

MySql インデックスインデックスの利点1. 一意のインデックスまたは主キー インデックスを作成す...

JS 正規マッチングの落とし穴の記録

最近、JS の正規表現マッチングの落とし穴を発見したのですが、その時はあまりにも奇妙だったので、何か...

Windows 環境での MySQL 8.0 のインストール、設定、アンインストール

ソフトウェアバージョンウィンドウズ: ウィンドウズ10 MySQL: mysql-8.0.17-wi...

フレックスとポジションの互換性の詳細な説明マイニングノート

今日は、すべてのブラウザ (主に IE 9 以上と Chrome) と互換性のある自分のホームページ...

Linux (CentOS7) に Tomcat をインストールし、Tomcat をスタートアップ項目として設定します (tomcat8 を例に挙げます)

目次TomcatをインストールするTomcat 圧縮パッケージをダウンロードTomcatには3つの主...

シンプルなウェブページレイアウトの構造と表現原理の共有

構造とパフォーマンスの紹介HTML 構造、CSS 表現、JavaScript 動作。Web ページの...