mybatis关联映射一对一
时间: 2023-12-10 20:36:02 浏览: 78
在MyBatis中,一对一关联映射可以通过在resultMap元素下添加一个association子元素来实现。具体步骤如下:
1.在resultMap元素下添加一个association子元素,设置property属性为需要关联的属性名,column属性为关联的列名,javaType属性为关联的Java类型。
2.在select语句中使用join语句将两个表关联起来,并使用resultMap的id属性指定使用哪个resultMap。
以下是一个示例:
```xml
<!-- 定义resultMap -->
<resultMap id="userMap" type="User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
<association property="card" javaType="Card">
<id property="id" column="card_id"/>
<result property="cardNo" column="card_no"/>
</association>
</resultMap>
<!-- 使用resultMap进行关联映射 -->
<select id="getUser" resultMap="userMap">
SELECT u.id, u.name, u.age, c.id as card_id, c.card_no
FROM user u
JOIN card c ON u.card_id = c.id
WHERE u.id = #{id}
</select>
```
以上示例中,User类中包含一个Card类型的属性card,通过在resultMap中添加一个association子元素,将user表和card表关联起来,实现了一对一关联映射。
阅读全文