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

推薦する

JS がビデオ弾幕効果を実現

これを実現するには、ES6 モジュール開発とオブザーバー モードを使用します。オブザーバー パターン...

ウェブサイトの再設計はどの家族にとっても難しい作業です

<br />どの家庭にもそれぞれの問題があり、改訂はどの IT 企業にとっても問題の 1...

Web ページのソース ファイルを表示できない場合はどうすればよいですか?

Q: Outlook または IE のどちらを使用している場合でも、マウスを右クリックすると、ポッ...

Linux システム (Centos6.5 以上) のインストール JDK チュートリアル分析

記事の構成1. 準備2. Java JDK8.0をインストールする3. 環境変数を設定する3. イン...

MySQL 5.7.23 解凍バージョンのインストールチュートリアル(画像とテキスト付き)

毎回インストールチュートリアルを探すのは面倒なので、後で確認できるように手順をバックアップします。解...

Vue2.0/3.0双方向データバインディングの実装原理の詳細説明

Vue2.0/3.0双方向データバインディングの実装原理双方向データバインディングとは、データの変更...

HTML ウェブページのメタビューポート属性の説明

HTML メタビューポート属性の説明ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウ...

MySQL 独立インデックスと共同インデックスの選択

複数列のインデックスについては、理解が不足していることがよくあります。よくある間違いは、多数の列に独...

VMware に Centos7 をインストールした後に外部ネットワークに ping できない問題を解決する

クラスターを構成する際に問題が発生しました。当初は 3 台の仮想マシンすべてが外部ネットワークに p...

収集する価値のあるCSS命名規則(ルール) よく使われるCSS命名規則

CSS命名規則(ルール) よく使われるCSS命名規則ヘッダー: ヘッダーコンテンツ: コンテンツ/コ...

VMWare仮想マシンにCentOS7システムをインストールする詳細な手順

インストール前の作業: VMware Workstation がインストールされていることを確認し、...

Linux ネットワーク システムの紹介

目次ネットワーク情報ホスト名を変更するDNSドメイン名解決ネットワーク関連コマンドファイアウォール暗...

TypeScript 3.7 で注目すべき 3 つの新機能について簡単に説明します。

目次序文オプションの連鎖ヌル結合呼び出されていない関数のチェック他の序文TypeScript 3.7...

HTMLのテーブルの内容は中央に水平と垂直に表示されます

CSSスタイルファイルで指定 #class td /*表のテキストを左右上下に揃えるように設定する*...

ウェブサイト開発におけるフロントエンド開発者とアーティストの知識の違い

概要: 多くの企業、特にインターネット Web サイトを主な事業とする企業のほとんどが、「アーティス...