Mybatis的关系配置
时间: 2024-01-24 08:05:02 浏览: 19
Mybatis的关系配置包括三种类型的关系,分别为一对一关系、一对多关系和多对多关系。
1. 一对一关系配置:在Mybatis中,使用<resultMap>标签来定义一对一关系的映射关系。在<resultMap>标签中可以使用<association>标签来定义一对一关系。例如:
<resultMap id="userMap" type="User">
<result 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"/>
<result property="cardType" column="card_type"/>
</association>
</resultMap>
2. 一对多关系配置:在Mybatis中,使用<resultMap>标签来定义一对多关系的映射关系。在<resultMap>标签中可以使用<collection>标签来定义一对多关系。例如:
<resultMap id="userMap" type="User">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
<collection property="orders" ofType="Order">
<id property="id" column="order_id"/>
<result property="orderNo" column="order_no"/>
<result property="orderDate" column="order_date"/>
</collection>
</resultMap>
3. 多对多关系配置:在Mybatis中,使用<resultMap>标签来定义多对多关系的映射关系。在<resultMap>标签中可以使用<collection>标签来定义多对多关系,同时需要在<collection>标签中使用<association>标签来定义关联关系。例如:
<resultMap id="userMap" type="User">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
<collection property="roles" ofType="Role">
<id property="id" column="role_id"/>
<result property="roleName" column="role_name"/>
<association property="permission" javaType="Permission">
<id property="id" column="permission_id"/>
<result property="permissionName" column="permission_name"/>
</association>
</collection>
</resultMap>