前のセクションでは、MyBatis-Plusの構造と使用について簡単に説明します。このセクションでは、MPを使用してマルチテーブルページネーションを実装する方法について簡単に説明します。
分析します
使用されるプロジェクトはまだスプリングブートです。ページングに関して、公式ウェブサイトは単一のテーブルのデモを提供します。実際、マルチテーブルページングの実装原則は同じであり、それらはすべてMyBatisインターセプターを介しています
(インターセプターは何をしますか?ページネーションなどのSQLが実行される前に何かをします。MPを使用し、制限を気にしません。インターセプターは私たちのためにそれをスプライブしません。文字の総数は気にしません。インターセプターがSQLを取得した後、 select count(*) 、パラメーターオブジェクトに追加します)。
成し遂げる
1.インターセプターを構成します
@enabletransactionManagement@configuration@mapperscan( "com.web.member.mapper")パブリッククラスmybatisplusconfig { / ** * mybatis-plus sql実行効率プラグイン[生産環境でオフにすることができます] } / * *ページネーションプラグイン、データベースタイプのマルチテナントを自動的に識別するには、公式Webサイト[プラグイン拡張子]を参照してください。 }} 2。マッパーインターフェイスとXML
/** * <p> *ユーザーテーブルマッパーインターフェイス * </p> * * @author yin tianwen * @since 2018-06-01 */public interface usermapper extends basemapper <user> {list <userlistmodel> selectuserlistpage(pagination page、 @param( ")userlistbean user user; }ここでは、このページネーションページが必要であることに注意する必要があります。そうしないと、MPはあなたのためにページネーションを実装できません。
<select id = "selectuserlistpage" resulttype = "com.web.member.momber.model.userlistmodel"> select * from ftms_user u Left join ftms_user_level l on u.level_id = l.id where 1 = 1 <if test = "user.nickname!= null" </if> </select>
3。サービスの実装
com.web.member.beans.admin.userlistbean;インポートcom.web.member.entity.user; import com.web.member.usermapper; import com.web.member.model.userlistmodel; import com.web.member.service.userservice; com.baomidou.mybatisplus.service.impl.serviceimpl; Import org.springframework.stereotype.service; import org.springframework.notation.transactional;/** * * <p> *ユーザーテーブルサービス実装クラス*/ @servicePublic class userserviceimpl extends serviceimpl <usermapper、user> emplments userservice {@transactional(readonly = true)@overrideパブリックページ<userlistbeanユーザー){userlistbean user){page <userlistmodel>文字が構築されています。ページオブジェクトはpage.setRecords(this.basemapper.selectuserlistpage(page、user)); }}最後に、結果をページオブジェクトに設定します。ページオブジェクトのJSON構造は次のとおりです
{"Total":48、// Total Records "Size":10、//ページごとに表示される「現在の "が表示されます:1、//現在のページ「レコード」:[// result set array {...}、{...}、{...}、...]、"ページ ":5 //合計ページ}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。