MyBatisのResultMapの子要素は、主にマッピング関係を定義するために使用され、データベースのクエリ結果をJavaオブジェクトにマッピングするために使用されます。一般的な子要素には、次のものが含まれます。
- IDを日本語で表現するということです。
- 結果 (けっか)
- プロパティ:Javaオブジェクトの指定された属性名。
- 列:データベース内で指定された列の名前。
- Javaの型:Javaオブジェクトのプロパティのデータ型を指定します。
- jdbcType:データベースの列のデータ型を指定します。
- typeHandler: データ型変換を行うためのハンドラを指定します。
- 協会 (きょうかい)
- プロパティ:Javaオブジェクトの指定された属性名。
- javaType:関連オブジェクトの型を指定します。
- コラム:データベース内の列名を指定します。
- クエリ文を選択し、関連するオブジェクトの詳細情報を検索します。
- コレクション
- property:Javaオブジェクトのプロパティ名を指定します。
- javaTypeは、指定されたコレクション要素の型です。
- カラム:データベース内の特定の列名を指定します。
- 選択:集合要素の詳細情報を検索するためのクエリを指定します。
- 差別する人
以下はResultMapの使用例です。
<resultMap id="userResultMap" type="User">
<id property="id" column="id" javaType="int" jdbcType="INTEGER"/>
<result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
<result property="age" column="age" javaType="int" jdbcType="INTEGER"/>
<association property="address" javaType="Address">
<id property="id" column="address_id" javaType="int" jdbcType="INTEGER"/>
<result property="city" column="city" javaType="String" jdbcType="VARCHAR"/>
<result property="street" column="street" javaType="String" jdbcType="VARCHAR"/>
</association>
<collection property="orders" ofType="Order">
<id property="id" column="order_id" javaType="int" jdbcType="INTEGER"/>
<result property="name" column="order_name" javaType="String" jdbcType="VARCHAR"/>
<result property="price" column="order_price" javaType="double" jdbcType="DECIMAL"/>
</collection>
</resultMap>
上記の例で、”userResultMap”というResultMapが定義され、クエリの結果がUserオブジェクトにマッピングされています。
- Userオブジェクトの主キーをマッピングするために、使用されるid要素。
- Userオブジェクトの通常のプロパティマッピングはresult要素を使用して定義されています。
- 使用association元素定义了User对象的Address关联对象的映射。
- Userオブジェクトのコレクション属性ordersをマッピングするために、collection要素が使用されています。