共通マッパーとは何ですか?
一般マッパーが大幅に非常に便利な単一テーブルのCRUDを提供し、人材ORMの開発を容易にすることができます。
それは非常に単純なテーブル補助MyBatisの開発コンポーネントであることを単純に言って、一般的なマッパーは何ですか。MyBatisのを置き換えることが、より便利にMyBatisのを開発するものではありません。
あなたは簡単に自分の一般的な方法を開発することができ、一般的な方法で自分のニーズに応じて選択することができます。
なぜ共通マッパーでしょうか?
ネイティブMyBatisの痛みのポイント
データベーステーブルのフィールドに変更した場合に1、mapper.xmlファイルは、SQLの多くがあり、私たちは、設定ファイルを変更する必要があります
2、表どこから*、自分のSQLページを実現選択する必要...リミット1,3
自分の手書き文字をページング、質量参加ページに加えて、pageSizeをもカウントエントリの総数を返す必要があります。
3、貧しいポータビリティデータベース:プロジェクトは、Oracleなどのデータベースの交換、である場合 - > mysqlの、mapper.xmlでSQLへの再書き込みが原因のOracle PLSQLの、およびMySQLのサポート機能が異なっています。
図4は、生成されたコードが大きすぎます。
5、バッチ処理、バッチ挿入、バッチ更新、あなたから記述する必要があります。
どのように共通マッパーを使用するには?
1、導入/瓶パッケージに依存しています
一般マッパーは、MyBatisの使用に沿ったものである、あなたはMyBatisの環境を持っていることを確認してください。
<! - 通用マッパー- > < 依存> < groupIdを> com.github.abel533 </ groupIdを> < たartifactId >マッパー</ たartifactId > < バージョン> 2.3.4 </ バージョン> </ 依存関係>
2、MyBatisの構成プロファイル
構成 - MyBatisの設定ファイルでは>プラグインは、以下のプラグインを追加します
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> <!DOCTYPE構成 PUBLIC " - // mybatis.org//DTDコンフィグ3.0 // EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > < 設定> < プラグイン> <! - 一般マッパー- > < プラグインインターセプター= "com.github.abel533.mapperhelper.MapperInterceptor" > <! - プライマリキーインクリメントライトバック方式、デフォルト値のMYSQL、詳細はドキュメントを参照してください- > < プロパティ名=「IDENTITY」値=「MYSQL」 /> <! - ユニバーサルマッパーインターフェイス、より一般的なインタフェースカンマで区切られた- > < プロパティ名=「マッパーによって」値=「com.github.abel533.mapper.Mapper」 /> </ プラグイン> </ プラグイン> </ 設定>
3、コンフィギュレーションのJavaBean
@Table追加注釈以下に示すように、我々は@GeneratedValueからの増加がある場合は、対応する属性を主キーフィールドに@Idコメントを追加するには、クエリにしたいのJavaBeanも、注釈を追加する必要があります。
パッケージcn.rayfoo.bbs.bean; 輸入lombok.Data; 輸入org.springframework.format.annotation.DateTimeFormat。 輸入javax.persistence.GeneratedValue; 輸入javax.persistence.GenerationType; 輸入javax.persistence.Id; 輸入javax.persistence.Table; 輸入java.util.Date; / ** * 2020年2月21日午前21時18分に[email protected]ルナによって作成されました *ユーザー * / 表@ @データ(名前 = "ユーザー" ) パブリック クラスユーザー{ @Id @GeneratedValue(戦略 = GenerationType.IDENTITYを) プライベート整数ID。 プライベート文字列のログイン名。 プライベート文字列のパスワード。 プライベート文字列のユーザ名。 プライベート文字列のnikename。 プライベート文字列のアバター。 @DateTimeFormat(パターン = "YYYY-MM-DD HH:MM:SS" ) プライベート日付CREATETIME。 }
4、マッパー継承<一般的な>
MyBatisのマッパーインタフェースの継承マッパー<>、ジェネリッククラスへの最後のステップの追加注釈として指定
パッケージcn.rayfoo.bbs.mapper; 輸入cn.rayfoo.bbs.bean.User; 輸入com.github.abel533.mapper.Mapper; / ** * 2020年2月21日夜11時08に[email protected]ルナによって作成されました * / パブリック インターフェイス UserMapperは延びマッパー<ユーザー> { / ** *ユーザーのログイン名のクエリに基づいて、 * @param ログイン名 * @return * / ユーザーselectByLoginName(文字列のログイン名)。 }
これまでのところ、GMマッパーが設定されている、我々はマッパークラスが拡大する方法はありません継承インタフェースをテストすることができます