MyBatis中的一對多關系可以使用<collection>
標簽來配置。
以下是一對多關系配置的基本步驟:
<select>
標簽來完成。例如:<select id="getParentObject" parameterType="int" resultMap="parentObjectResult">
SELECT * FROM parent_table WHERE id = #{id}
</select>
<select>
標簽來完成。例如:<select id="getChildObjects" parameterType="int" resultMap="childObjectResult">
SELECT * FROM child_table WHERE parent_id = #{parentId}
</select>
<resultMap>
標簽來完成。在<resultMap>
標簽中,使用<collection>
標簽來映射一對多關系。例如:<resultMap id="parentObjectResult" type="ParentObject">
<id column="id" property="id"/>
<result column="name" property="name"/>
<!-- 定義子對象的映射 -->
<collection property="childObjects" ofType="ChildObject" resultMap="childObjectResult"/>
</resultMap>
<resultMap>
標簽來完成。例如:<resultMap id="childObjectResult" type="ChildObject">
<id column="id" property="id"/>
<result column="name" property="name"/>
</resultMap>
<collection>
標簽來關聯子對象的查詢語句。例如:<select id="getParentObject" parameterType="int" resultMap="parentObjectResult">
SELECT * FROM parent_table WHERE id = #{id}
<!-- 關聯子對象的查詢語句 -->
<collection property="childObjects" select="getChildObjects" column="id" javaType="java.lang.Integer" ofType="java.lang.Integer"/>
</select>
以上就是使用MyBatis配置一對多關系的基本步驟。注意,這里的示例中使用了兩個表parent_table
和child_table
,你需要根據自己的實際情況進行調整和修改。