Mybatis的一对一和一对多

关于Mybatis的一对一和一对多问题

一对一:

在xml文件定义的resultMap里加上如下一句:

<association property="tindianatype" column="{id=typeid}" javaType="Tindianatype" select="getTindianatype"/>

其中property为你实体类里定义的别名,javaType为对应的类名:
private Tindianatype tindianatype;

select填写你子语句中的id

<select id="getTindianatype" parameterType="map" resultType="Tindianatype">
    select * from tindianatype  where id =${id}
</select>

column是你需要传的参数,这里我用的是键值对形式,所以子语句里的参数类型是map,这里只要是对应的即可.

还有需要注意的是主语句的返回类型必须要是你定义的resultMap的Id:

<resultMap id="BaseResultMap" type="Tindiana" >
<select id="findById" resultMap="BaseResultMap" parameterType="java.lang.Integer" >

一对多:

因为返回的是多,所以实体类里定义需是集合类型

private List<Torderrole> torderroles;

同理,在定义的resultMap里的加上如下一句:

<collection property="torderroles" ofType="Torderrole" column="id" select="getTorderroles"/>


其中的ofType和一对一的javaType一样,为对应的类名,其他的和一对一写法一样.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值