看看 iBATIS SQL Maps 是怎样从数据库按照 one-to-many 关系查询数据的:

resultMap id="get-autoInfo-result" class="bo.AutoInfo"

    resultMap 是 iBATIS SQL Maps 框架中重要组件之一,你也许还记得resultClass 吧?两者概念基本一致。resultMap 则是可定制 Mapped Statement 返回对象的。可定制表现在:比如我有一张数据表包含10个字段,但我的 POJO 只定义了5个属性,这时,只要取出我关心的字段就行。和 Hibernate 类似,resultMap 的 result元素定义了 POJO 属性到数据表字段的映射。

需要说明的是 result元素 select 属性,该属性类似于加载了一个子查询,并自动载入,如果这个子查询包含多条结果,就自动把结果装载进 List 类型。该 result 元素对应 People 中的属性为”autoInfoList”,而由 Hibernate 生成的 People 却是 Set 类型”autoInfoSet”,这两种类型无法直接互转,所以我修改了 POJO 属性。

select id="getPeople" resultMap="get-people-result" parameterClass="bo.People"