マイベイトを廃止する時が来ました、国内の sqltoy-orm 5.2.82 がリリースされました

まだマイバティスにいるの?mybatis-プラス、プラス、プラス?20以上じゃないですよね?Mybaits-plus、mybatis-fluent、mybatis-flex、mybatis-mp このせいで眠れない開発者がどれだけいるでしょうか?

そして、すべての取り組みは、mybatis 用の jpa 関数の実装、および SQL に適合するための Java ラムダ モードの使用に焦点を当てています。sqltoy を深く理解することをお勧めします。sqltoy を本当に理解すると、あなたの世界は次のようになります。 ORM が「なし」の場合、より価値の高い領域に集中することが限定されます

オープンソースのアドレス:

更新内容

1. MapperUtil は、単一オブジェクトおよびオブジェクト コレクションの属性値をコピーして割り当てるために copyProperties を追加します
2. 特定のデータベース方言を他のデータベース方言にマッピングするために spring.sqltoy.dialectMap<String, String> 属性を追加します たとえば
: OSCAR (Shentong) は gaussdb にマッピングされます。

spring:
    sqltoy:
       dialectMap:
              oscar: gaussdb
 

3. inArg 値が文字列の場合の (:inArg) 検証を強化します。たとえば、値は「'a','b'」ですが、これは (SQL インジェクションを防ぐために) 正当であり、次のように結合できます。 sql.それ以外の場合、動的条件パラメータ値 pst.setString(index,inArg)

qltoy-orm は JPA とスーパークエリを融合したものです。

JPA部

  • JPA のようなオブジェクト化された CRUD、オブジェクトのカスケード ロード、新規追加、更新
  • 更新操作を強化し、エラスティック フィールド変更機能を提供します。休止状態で最初にロードしてから変更するのとは異なり、変更は 1 回のデータベース インタラクションで完了し、同時実行性の高いシナリオでもデータの精度が保証されます。
  • カスケード変更が改善され、最初に削除するか、最初に無効にしてから上書きするという操作オプションが提供されます。
  • updateFetch 関数と updateSaveFetch 関数を追加して、在庫元帳や資本元帳と同様の強力なトランザクションと高い同時実行性のシナリオの処理を強化し、1 つのデータベース インタラクションを実現し、ロック クエリを完了し、存在しない場合は挿入し、存在する場合は変更して、変更された結果。
  • 異なるデータベース内のツリー構造データの再帰クエリの統合を容易にするために、ツリー構造のカプセル化を追加しました。
  • データベースとテーブルのシャーディング、複数の主キー戦略 (Redis に基づく特定のルールに基づいて生成されるビジネス主キーの追加サポート)、暗号化ストレージ、データ バージョンの検証をサポートします。
  • パブリック属性の割り当て(作成者、変更者、作成時刻、変更時刻、テナント)、拡張型処理などを提供します。
  • マルチテナントの統合フィルタリングと割り当て、データ許可パラメータの導入、および未承認の検証を提供します。

クエリ部分

  • 非常に直感的な SQL 記述方法により、クライアント <--> コードからの迅速な双方向移行が容易になり、後の変更やメンテナンスが容易になります。
  • ファジークエリのようなキャッシュ変換とキャッシュマッチングキーの逆引きをサポート
  • クロスデータベースサポート機能を提供します。異なるデータベース内の関数の自動変換と適応、実際の環境に応じた複数の方言 SQL の自動マッチング、および複数データベースの同期テストにより、製品化機能が大幅に向上します。
  • トップレコードやランダムレコードなどの特別なシナリオ向けのクエリ関数を提供します。
  • 最も強力なページング クエリ メカニズムを提供します: 1) count ステートメントを自動的に最適化します。2) キャッシュ ベースのページング最適化を提供して、count クエリを毎回実行することを回避します。3) 独自の高速ページングを提供します。4) 並列処理ページネーションを提供します。
  • サブデータベースおよびサブテーブル機能を提供します
  • 管理プロジェクトで非常に価値のある機能を提供します: グループ概要の計算、行と列の変換 (行から列、列から行)、前年比比較、ツリーの並べ替え、ツリーの概要に関連するアルゴリズムの自然な統合
  • クエリベースの階層データ構造のカプセル化を提供します
  • データの感度解除、フォーマット、条件付きパラメータの前処理など、多数の補助機能を提供します。

複数のデータベースをサポート

  • 従来のmysql、oracle、db2、postgresql、sqlserver、dm、kingbase、sqlite、h2、oceanBase、polardb、guassdb、tidb
  • 分散型 OLAP データベースのサポート: clickhouse、StarRocks、greenplum、impala (kudu)
  • elasticsearch、mongodbをサポート
  • SQL および JDBC に基づくすべてのデータベース クエリ

sqltoy の機能の紹介:

  • sqltoy の核となる構築アイデア

  • sqltoy と mybatis (plus) を比較する際の核心点: クエリ文の作成、読みやすさ、保守性

  • オブジェクト化されたクラッドが基礎ですが、sqltoy では、update、updateSaveFetch、updateFetch などの改善を目標としています。

  • sqltoy のキャッシュ変換により、テーブルの関連付けが大幅に削減され、SQL が簡素化され、クエリのパフォーマンスが幾何級数的に向上します。

sqltoy が mybatis(plus) を即座に殺す理由を説明してください

  • Ultimate Paging は、クエリ パフォーマンスの大幅な向上にも役立ちます
  1. 高速ページング: @fast () は、最初に単一ページのデータを取得してから、関連するクエリを実行することを実現し、速度を大幅に向上させます。
  2. ページング オプティマイザー: ページ最適化は、ページング クエリを 2 回から 1.3 ~ 1.5 回に変更します (同じクエリ条件を達成するためにキャッシュを使用するレコードの総数は、一定期間内に繰り返す必要はありません)
  3. 合計レコードを取得するための sqltoy のページングのプロセスは、単純な select count (1) from (元の SQL) ではなく、 select count (1) from 'from post-statement' になるかどうかをインテリジェントに判断し、自動的に削除します。最も外側の順序による
  4. sqltoy は、レコードの総数と単一ページのデータを同時にクエリする並列クエリ:Parallel="true" をサポートし、パフォーマンスを大幅に向上させます。
sqltoy が mybatis(plus) を即座に殺す理由を説明してください
 
  • 便利なデータベース間統計計算: データローテーション
sqltoy が mybatis(plus) を即座に殺す理由を説明してください
  • 便利なデータベース間統計計算: Infinitus グループ統計 (要約と平均を含む)
sqltoy が mybatis(plus) を即座に殺す理由を説明してください
  • 便利なデータベース間の統計計算: 前年比および前月比
sqltoy が mybatis(plus) を即座に殺す理由を説明してください
5. ツリーテーブルのソートと要約

6. 拡張統合

Ich denke du magst

Origin www.oschina.net/news/267947/sqltoy-orm-5-2-82-released
Empfohlen
Rangfolge