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

推薦する

複数のdiv内のテーブルのtdwidth設定は同じで、揃えることができません

最近、複数のdivにあるテーブルのTDを同じ幅に調整しても、揃えることができず、幅にパターンがないこ...

Dockerカスタムネットワーク実装

目次1. コンテナ相互接続を実現するためにネットワークをカスタマイズする2. ネットワーク接続1. ...

docker によってプルされたイメージがどこに保存されるかの詳細な説明

docker によってプルされたコマンドは、デフォルトでは /var/lib/docker/ フォル...

dockerでビルドしたnacos1.3.0の実装

1. nacosデータベースを再開します。データベース名nacos_configユーザー名とパスワー...

Linuxプロセス通信におけるFIFOの実装

FIFO通信(先入れ先出し)関連のないプロセス間の通信を可能にする FIFO 名前付きパイプ。パイプ...

一般的な JavaScript メモリ エラーと解決策

目次1. タイマー監視2. イベント監視3.オブザーバー4. ウィンドウオブジェクト5. DOM参照...

ウェブページの最も基本的なコード

◆お気に入りに追加例示するクリックすると、ブラウザのお気に入りメニューにウェブサイトが追加されます...

VMware Workstation Pro でサーバー仮想マシンを構築する (グラフィック チュートリアル)

私が使用している VMware Workstation Pro のバージョンは次のとおりです。 1....

HTML 文法百科事典_HTML 言語文法百科事典 (必読)

ボリュームラベル、プロパティ名、説明002 <! - - ... - -> コメント00...

MySQL 5.7.13 ソースコードのコンパイル、インストール、および構成方法のグラフィックチュートリアル

インストール環境: CentOS7 64ビットMINI版公式ソースコードのコンパイルおよびインストー...

MacでMysqlのルートパスワードを忘れた場合の解決方法

長い間コンピューターで mysql を使用していなかったので、パスワードを忘れてしまいました。でも、...

個人履歴書を作成するための HTML の簡単な実装

履歴書コード: XML/HTML コードコンテンツをクリップボードにコピー<!DOCTYPE ...

コードを通じてHTMLエスケープ文字を識別する方法について説明します

データ内に次のような特徴を持つ「 ' 」などの文字が含まれることがあります。 &# ...

Linux でテキストを表示するためのヒント (非常に実用的!)

序文日常の開発では、サーバー上でさまざまなテキストやログの表示操作を実行する必要があることがよくあり...