在数据库中比较常见一对一、一对多的数据,本文将叙述如何用多种方式实现这些关联关系,并对这些方法进行比对和分析。
例子假设的场景如下:
有两张表:product(产品)、category(种类),一个产品只属于某一个种类,但某一个种类下可以有多个产品。
一对一
场景:
查询某个产品,并列示出该产品所属的种类。
实现一对一的关系有两种方式。
方式一:
<sqlMap namespace="one-to-one">
<resultMap class="com.ibatis.example.domain.Product" id="get-product-result">
<result property="id" column="PRD_ID" />
<result property="description" column="PRD_DESCRIPTION" />
<result property="category" column="PRD_CAT_ID" select="one-to-one.getCategory" />
</resultMap>
<resultMap class="com.ibatis.example.domain.Category" id="get-category-result">
<result