MyBatis-Flex: エレガントな MyBatis 拡張フレームワーク
特徴
1. 非常に軽量
MyBatis-Flex のフレームワーク全体は MyBatis にのみ依存し、他のサードパーティには依存しません。
2.強化のみ
MyBatis-Flex は、MyBatis の本来の機能を失うことなく、CRUD、ページング クエリ、マルチテーブル クエリ、およびバッチ操作をサポートします。
3. 高性能
MyBatis-Flex は独自の技術アーキテクチャを採用しており、多くの同様のフレームワークと比較して、追加、削除、変更、クエリのパフォーマンスが 5 ~ 10 倍以上です。
4. より機敏に
MyBatis-Flex は、複数の主キー、マルチテーブル クエリ、論理削除、楽観的ロック、データの感度解除、データ暗号化、複数のデータ ソース、サブデータベースのサブテーブル、フィールド権限、フィールド暗号化、マルチテナント、トランザクション管理、SQL をサポートします。監査...など これらすべてが無料かつ柔軟です。
MyBatis-Flex v1.6.0 アップデートの詳細は次のとおりです。
- 新規: データベース Hive SQL および Doris のサポートを追加しました。
- 新規: ActiveRecord は saveOpt メソッドを追加し、ユーザーはデータを保存してコンテンツを返します
- 新規: データ クエリに無視フィールドの自動マッピングのサポートが追加されました。
- 新規: 関連フィールドの一部のみをクエリするための RelationManager.addQueryRelations() メソッドを追加しました。
- 最適化: リファクタリングにより、削除対象としてマークされたメソッドまたはクラスが削除されます。!!速報アップデート
- 最適化: SnowFlakeIDKeyGenerator にパラメータ設定メソッドを追加します。
- 最適化: パフォーマンスを向上させるために FlexSpringTransaction をリファクタリングします。
- 最適化: マッパーを最適化し、必要な注釈を追加します。@王朱に感謝します。
- 最適化: @王朱のおかげで、コード ジェネレーターをリファクタリングし、連鎖呼び出しと必要なコード コメントのサポートを追加しました。
- 最適化: リファクタリングにより、null ではないという判断が QueryColumnBehavior に統合され、ユーザーがロジックをカスタマイズするのに便利です。@王朱に感謝します。
- 最適化: FlexSqlSessionFactoryBean でいくつかの注釈エラーを修正しました。@cainiao3853に感謝します。
- 修正: 一部のシナリオで使用すると NPE 問題が発生する#I7T00C:[バグ]: 複数テーブルの結合クエリを実行すると NPE エラーが報告される
- 修正: Db + Row のシナリオでは、RowKey をカスタマイズすると結果が正しくありません
- 修正: QueryMethods.dateFormat が間違った問題を使用する#I7TEUM: [バグ]: dateFormat 例外
- 修正: QueryMethods.substring の使用が間違っている問題#I7TEUM: [バグ]: dateFormat 例外
- 修正: マップを返すときに、map-underscore-to-camel-case を設定しても機能しない
- 修正: Bean アノテーションによるデータ ソース復号化プログラムの構成とカスタム構成の構成が矛盾しています#I7UHUN: [バグ]: 復号化プログラムの構成が均一ではありません
- 修正: Hutool の BeanUtil.copyProperties を使用してページをコピーすると失敗する問題#I7VBUE:[バグ]: BeanUtil.copyProperties を使用する場合、データ型は long として定義されているが、set メソッドのデータ型は数値として受け取られるため、コピーできません。正しくコピーされる
- 修正: UpdateEntity は @Column(ignore = true) フィールドをフィルターしません#I7RE0J:[Bug]: UpdateEntity は @Column(ignore = true) フィールドをフィルターしません
- 修正: @chenjh3 のおかげで、一部のシナリオでの FlexSpringTransaction エラー
- 修正: Oracle でのバッチ操作は場合によっては誤った結果を返す場合があります
- 修正: @王朱のおかげで、コード ジェネレーターに NPE の問題が発生する場合があります。
- 修正: @王朱のおかげで、v1.5.9 バージョンによって引き起こされる無視属性も、defaultQueryColumns のデフォルトのクエリ列に追加されます。
- ドキュメント: RelationManager.addQueryRelations() で使用する関連ドキュメントを追加します。
- ドキュメント: @王朱のおかげで、mybatis-flex-dependency の使用手順を追加しました。
- ドキュメント: FAQ のいくつかのタイプミスを修正
- ドキュメント: よくある質問 主キーの保存および関連ドキュメントを取得する方法を追加しました
- ドキュメント: 複数のトゥームストーンを追加する場合、削除者の関連ドキュメントと削除時刻を同時に更新します。
- ドキュメント: 一括操作を追加する際の役に立たない可能性があるエラーのメモ
- ドキュメント: @王朱のおかげで、コード ジェネレーターの関連ドキュメントを最適化しました。
- ドキュメント: @王朱のおかげで、saveOpt 関連ドキュメントを ActiveRecord に追加しました。
- ドキュメント: @王朱のおかげで、動的テーブル名のサンプルコードを変更する問題が間違っていました。
- ドキュメント: @鹤雨笑猪黑のおかげで、gradle ドキュメントのエラーの問題を修正しました。
- ドキュメント: Db + Row のいくつかの間違った説明を修正しました。@yang_zzu に感謝します。
以下の 5 名の学生の PR により、現在のバージョンがリリースされました。
@王帅、@cainiao3853、@yang_zzu、@鹤雅笑猪黑、@chenjh3
MyBatis-Flex フレームワークの詳細については、次のリンクを参照してください。
- 1. クイックスタート: https://mybatis-flex.com/zh/intro/getting-started.html
- 2. マルチテーブル関連付けクエリ: https://mybatis-flex.com/zh/base/query.html
- 3. 1 対多、多対 1: https://mybatis-flex.com/zh/base/relations-query.html
- 4. 柔軟な QueryWrapper: https://mybatis-flex.com/zh/base/querywrapper.html
- 5. 論理的な削除: https://mybatis-flex.com/zh/core/logic-delete.html
- 6. 楽観的ロック: https://mybatis-flex.com/zh/core/version.html
- 7. データ入力: https://mybatis-flex.com/zh/core/fill.html
- 6. データマスキング: https://mybatis-flex.com/zh/core/mask.html
- 7. SQL監査: https://mybatis-flex.com/zh/core/audit.html
- 8. 複数のデータソース: https://mybatis-flex.com/zh/core/multi-datasource.htm
- 9. データソースの暗号化: https://mybatis-flex.com/zh/core/datasource-encryption.html
- 10. 動的テーブル名: https://mybatis-flex.com/zh/core/dynamic-table.html
- 11. トランザクション管理: https://mybatis-flex.com/zh/core/tx.html
- 12. データ許可: https://mybatis-flex.com/zh/core/data-permission.html
- 13. フィールド権限: https://mybatis-flex.com/zh/core/columns-permission.html
- 14. フィールド暗号化: https://mybatis-flex.com/zh/core/columns-encrypt.html
- 15. 辞書を書き戻します: https://mybatis-flex.com/zh/core/columns-dict.html
- 16. 列挙プロパティ: https://mybatis-flex.com/zh/core/enum-property.html
- 17. マルチテナント: https://mybatis-flex.com/zh/core/multi-tenancy.html
- 18. コードジェネレーター: https://mybatis-flex.com/zh/others/codegen.html
- 19. QQ 交換グループ: https://mybatis-flex.com/zh/intro/qq-group.html
- 20. さらに便利な機能が開発中です: https://mybatis-flex.com
bilibiliビデオチュートリアル(無料):
- MyBatis-Flex ビデオ チュートリアル - 01 コースの紹介
- MyBatis-Flex ビデオ チュートリアル - 02 MyBatis-Flex の概要
- MyBatis-Flex ビデオ チュートリアル - 03 MyBatis-Flex を使用する理由
- MyBatis-Flex ビデオ チュートリアル - 04 SpringBoot に基づくクイック スタート
- MyBatis-Flex ビデオ チュートリアル - 05 自動生成クラスの紹介
- MyBatis-Flex ビデオ チュートリアル - 06 MyBatis-Flex 構成オプション
- MyBatis-Flex ビデオ チュートリアル - 07 BaseMapper インターフェイスを理解する
- MyBatis-Flex ビデオ チュートリアル - 08 データの挿入
- MyBatis-Flex ビデオ チュートリアル - 09 データの削除
- MyBatis-Flex ビデオ チュートリアル - 10 更新データ
- MyBatis-Flex ビデオ チュートリアル - 11 の複雑なアップデート
- MyBatis-Flex ビデオ チュートリアル - 12 の基本的なクエリ
- MyBatis-Flex ビデオ チュートリアル - 13 マップされたクエリ
- MyBatis-Flex ビデオ チュートリアル - 14 QueryWrapper の概要
- MyBatis-Flex ビデオ チュートリアル - 15 QueryWrapper の操作
- MyBatis-Flex ビデオ チュートリアル - 16 @Table アノテーションの簡単な使用法
- MyBatis-Flex ビデオ チュートリアル - 17 onInsert と onUpdate の使用
- MyBatis-Flex ビデオ チュートリアル - 18 onSet はフィールド権限を実装します
- MyBatis-Flex ビデオ チュートリアル - 19 onSet はフィールド暗号化を実装します
- MyBatis-Flex ビデオ チュートリアル - 20 onSet は辞書ライトバックを実装します
- MyBatis-Flex ビデオ チュートリアル - 21 のグローバル リスナー構成
- MyBatis-Flex ビデオ チュートリアル - 22 @Id の簡単な使用
- MyBatis-Flex ビデオ チュートリアル - 23 のカスタム主キー ジェネレーター
- MyBatis-Flex ビデオ チュートリアル - 24 個の @Column 注釈の簡単な使用
- MyBatis-Flex ビデオ チュートリアル - 25 isLogicDelete 論理削除の簡単な使用法
- MyBatis-Flex ビデオ チュートリアル - 26 個のカスタム トゥームストーン プロセッサ
- MyBatis-Flex ビデオ チュートリアル - 27 バージョンのオプティミスティック ロックの簡単な使用
- MyBatis-Flex ビデオ チュートリアル - 28 tenantId マルチテナントの簡単な使用
- MyBatis-Flex ビデオ チュートリアル - 29 typeHandler の簡単な使用法
- MyBatis-Flex ビデオ チュートリアル - 30 データの感度解除の簡単な使用
- MyBatis-Flex ビデオ チュートリアル - 31 列挙型プロパティの使用
- MyBatis-Flex ビデオ チュートリアル - 32 結合クエリ
- MyBatis-Flex ビデオ チュートリアル - 33 フィールド クエリ
- MyBatis-Flex ビデオ チュートリアル - 34 関係クエリ
- MyBatis-Flex ビデオ チュートリアル - 35 アソシエーション クエリの比較
- MyBatis-Flex ビデオ チュートリアル - 36 ページング クエリ
- MyBatis-Flex ビデオ チュートリアル - 37 ページング クエリ数クエリの最適化
- MyBatis-Flex ビデオ チュートリアル - 38 XML ファイルに基づく高性能ページング
- MyBatis-Flex ビデオ チュートリアル - 39 Db + 行
- MyBatis-Flex ビデオ チュートリアル - 40 のバッチ操作
- MyBatis-Flex ビデオ チュートリアル - 41 IService インターフェイスの概要
- MyBatis-Flex ビデオ チュートリアル - 42 データ権限の使用
- MyBatis-Flex ビデオ チュートリアル - 43 の連鎖操作
- MyBatis-Flex ビデオ チュートリアル - 44 複数のデータ ソースの構成
- MyBatis-Flex ビデオ チュートリアル - 45 複数のデータ ソースの切り替え
- MyBatis-Flex ビデオ チュートリアル - 46 データ ソースを動的に追加する
- MyBatis-Flex ビデオ チュートリアル - 47 データ ソースの暗号化
- MyBatis-Flex ビデオ チュートリアル - 48 トランザクション管理
- MyBatis-Flex ビデオ チュートリアル - 49 カーソル クエリ
- MyBatis-Flex ビデオ チュートリアル - 50 データ キャッシュ
- MyBatis-Flex ビデオ チュートリアル - 51 データ キャッシュの簡単な使用
- MyBatis-Flex ビデオ チュートリアル - 52 の動的テーブル名
- MyBatis-Flex ビデオ チュートリアル - 53 アクティブ レコード モード