mybatis Collection 一对多嵌套 Association 一对一标签绑定 JavaType 不生效。
时间: 2024-03-09 13:49:23 浏览: 121
Mybatis 中使用 Collection 一对多嵌套 Association 一对一标签绑定 JavaType 可以通过 resultMap 来实现,以下是一个示例:
```xml
<resultMap id="parentResultMap" type="Parent">
<id property="id" column="parent_id"/>
<result property="name" column="parent_name"/>
<collection property="children" ofType="Child" resultMap="childResultMap"/>
</resultMap>
<resultMap id="childResultMap" type="Child">
<id property="id" column="child_id"/>
<result property="name" column="child_name"/>
<association property="toy" javaType="Toy" column="toy_id" select="selectToyById"/>
</resultMap>
<select id="selectParentById" resultMap="parentResultMap">
SELECT parent_id, parent_name FROM parent WHERE parent_id = #{id}
</select>
<select id="selectToyById" resultType="Toy">
SELECT * FROM toy WHERE toy_id = #{id}
</select>
```
在上面的示例中,parentResultMap 中的 collection 属性指定了 children 集合的类型和对应的 childResultMap。childResultMap 中的 association 属性指定了 toy 属性的类型和对应的 select 语句。通过这种方式,可以实现 Collection 一对多嵌套 Association 一对一标签绑定 JavaType 的效果。
希望这个示例能够帮助您解决问题。如果您还有其他问题,请随时提出来。
阅读全文