ORM仕様
1. [必須] テーブル クエリでは、クエリのフィールド リストとして * を使用しないでください。どのフィールドが必須であるかを明確に記述する必要があります。
説明: 1) クエリ アナライザーの解析コストを増やします。 2) フィールドの追加または削除は、resultMap 構成と矛盾する可能性があります。
2. [必須] POJO クラスのブール属性は is で追加できず、データベース フィールドは is _ で追加する必要があります。 ## する必要があります。 # マッピングの resultMap でフィールドと属性間の接続を行います。
注: POJOクラスの定義とデータベースフィールドの定義を参照し、sql.xmlにマッピングを追加する必要があります。
定義; 逆に、すべてのテーブルには対応するテーブルが必要です。
説明: メンテナンスを容易にするために、フィールドを DO クラスから分離するようにマッピング関係を構成します。
。
説明:
実装方法は、データベース内のstatementNameに対応するSQL文のレコードをすべて取得し、subListでstartとsizeのサブセットを取得することです、この理由によりオンライン OOM が発生しました。
肯定的な例:導入 #start#, #size#Map<String, Object> map = new HashMap<String, Object>();
map.put("start", start);
map.put("size", size);
6. 【必須】ではありませんHashMap と Hashtable をクエリ結果セットの出力として直接使用できます。
#7. [必須] データ テーブル レコードを更新するときは、レコードの対応する gmt_modified フィールドの値も現在時刻に更新する必要があります。
8. [推奨事項] 大規模で包括的なデータ更新インターフェイスは作成せず、独自のターゲット更新セグメントであるかどうかに関係なく、POJO クラスとして渡します。全更新テーブルセット c1=value1,c2=value2,c3=value3; これは誤りです。 SQL
を実行するときは、未変更のフィールドを更新しないようにしてください。第一に、エラーが発生しやすくなり、第二に、非効率になり、第三に、binlog によりストレージが増加します。
9. [参考] @ Transactional トランザクションを乱用しないでください。トランザクションはデータベースの QPS に影響します。また、トランザクションが使用される場合は、キャッシュ ロールバック、検索エンジンのロールバック、メッセージ補正、統計補正などのさまざまなロールバック ソリューションを考慮する必要があります。
10. [参考] < isEqual > の CompareValue は、属性値 (通常は数値) と比較される定数であり、等しいことを意味する場合、 にはこの条件が伴うことを意味します; < isNotEmpty > ; は空ではなく、null の場合は実行されないことを意味します。< isNotNull > は、null 値でない場合に実行されることを意味します値
。