1、マッパーの設定ファイルの共通の要素
なparameterMap廃止され、昔ながらのスタイルのパラメータマッピング。
図2に示すように、要素を選択
マッピングクエリ。JDBCによる前処理のために、{...}#ステートメントのパラメータは、そのようなパラメータは、SQLだろう「?」1で識別されると、新たな前処理の文に移されます。
次のように属性は、select要素について説明します。
3、挿入、更新、削除
DML文のマッピング。そして、構成を選択非常によく似ています。
および構成プロパティに加えて、最も一貫性を選択し、ユニーク次のとおりです。
いくつかのデータベースは、挿入後に返さ主キー値を生成しサポートし、運転支援が主キーを取得した場合は、提供することができる、keyPropertyは=「ID」「trueに」useGeneratedKeysの=を。(Idは、任意であり、主に返される主キー値を受信するために使用されます)。
データベースの種類(例えばオラクル)またはサポートされていないJDBCドライバの自動生成をサポートしていない、MyBatisのも、次の方法で主キーを生成することがあります。
上記の例では、selectKey要素が実行され、SEQUENCEシーケンスを照会することによって、得られた配列は、IDの値に設定されています。
4、SQL
再利用可能なを定義するためのSQLコードセグメント。他の書類に含まれてもよく、それは静的(ローディングパラメータの時)パラメータであってもよいです。
5、パラメータ
それのParameterType。
若しくは
6、ResultMaps
結果は、必要なオブジェクトの開発に集中化されたデータから撮影します。
1「または当社のPOJOに。
< 選択し、ID = "selectAllUser" resultTypeと= "com.lfy.bean.User" > t_user SELECT * FROMを </ 選択>
POJO、私たちのJava Beanがデータベースのすなわちフィールドとプロパティのフィールドが矛盾しているときは、変換する必要があります(フィールドにSQL文で別名を再生することができます):
< このresultMap idは= "userResultMap" タイプ= "com.lfy.bean.User" > <! - プライマリキーフィールドを指定するには、Id属性- > < のid プロパティ= "ID" 列= "user_idを" /> <! - 結果の属性を使用すると、通常のフィールドと一致する- > < 結果プロパティ= "名前" 欄= "USER_NAME" /> < 結果プロパティ= "セックス" の列= "user_sex" /> </ このresultMapを>
2「が発生した場合、テーブル間の関連性、Java Beanが、この他の巣ときJava Beanが。
以下は、1対1の関係で、学生が唯一の1つのクラスを持っている、つまり、学生は一Clazzプロパティです。
<! - 映射学生对象的このresultMap - > < このresultMap のid = "studentResultMap" タイプ= "com.lfy.bean.Student" > < のid プロパティ= "ID" 列= "ID" /> < 結果プロパティを=」 「名前欄= "名前" /> < 結果プロパティ= "性別" 欄= "セックス" /> < 結果プロパティ= "年齢" 列= "年齢" /> <!- 関連マップ- > < 協会プロパティ= "clazz"列= "clazz_id" のJavaType = "com.lfy.bean.Clazz" を選択= "selectClazzWithId" /> </ このresultMap > <! - 根据班级ID查询班级- > < 選択のid = "selectClazzWithId" resultTypeと= "COM .lfy.bean.Clazz」> ID =#{ID} TB_CLAZZ SELECT * FROM </ 選択> <! - 查询所有学生信息- > < 選択ID = "selectStudent" このresultMap = "studentResultMap" > SELECT * FROM TB_STUDENT </ 選択>
(PS:クエリが関連付けられている場合、直接のような対応するフィールドを埋め込み、「最初のオブジェクト内」フィールドにこのresultMap対応テーブルをマッピングすることができるマルチテーブルのJava Beanに関連付けられたクエリおよび他の組成物豆)
< 関連プロパティ= "教師" のJavaType = "com.lfy.bean.Teacher" > < ID プロパティ= "ID" 列= "t_id" /> < 結果プロパティ= "名前" 欄= "t_name" /> </ アソシエーション>
ターンでは、すべてのクラスを確認し、各クラスの生徒全員をチェックアウト、ClazzがList <学生>のプロパティを持っていることを、複数の関係が存在します。
<! - マッピングオブジェクトクラスこのresultMap - > < このresultMap ID = "clazzResultMap" タイプ= "com.lfy.bean.Clazz" > < ID プロパティ= "ID" 列= "ID" /> <は、結果のプロパティを"=コード「列=」コード「/> <! - プロパティがコレクションであるように、生徒のクラスが複数あるので、学生は、クラスの属性- > < コレクションプロパティ=」。学生は「のJavaType =」ArrayListを「 列=」上記ID " ofType =" com.lfy.bean.Student " 選択= "selectStudentWithId" /> </ このresultMap > <! - クラスIDに応じてクエリの学生- > < SELECT ID = "selectStudentWithId" resultTypeと= "com.lfy.bean.Student" > TB_STUDENT ID FROM =#{} clazz_id SELECT * </ SELECTを> <! - すべてのクラス情報を照会- > < SELECT 上記のid = "selectClazz" このresultMapは= "clazzResultMap" > SELECT * FROM TB_CLAZZ </ SELECT >