Mybatis——多表操作(多对一)

本文介绍了MyBatis中多对一的关联映射方式,使用@One和@Result注解实现。通过UserMapper和OrderMapper的例子展示了如何通过one属性和@One注解来查询和加载多对一关系的数据,例如根据订单ID获取包含用户详细信息的订单。
摘要由CSDN通过智能技术生成

多对一

1.1语法

多对一: 需要使用one属性和@One注解

@Result( property = "多表JavaBean属性名", column = "多表字段名", one = @One(select ="1表Mapper的方法签名") )

1.2 例子

UserMapper:

/**
* 通过id查询详情
* @param uid
* @return
*/
@Select("select * from user where uid = #{uid}")
@ResultMap("userResult")
public User selectById(@Param("uid") String uid);

OrderMapper:

/**
*
* @param id
* @return
*/
@Select("select * from orders where oid = #{oid}")
@Results({
@Result(property="oid" , column="oid"),
@Result(property="ordertime" , column="ordertime"),
@Result(property="total" , column="total"),
@Result(property="state" , column="state"),
@Result(property="address" , column="address"),
@Result(property="name" , column="name"),
@Result(property="telephone" , column="telephone"),
@Result(property="uid" , column="uid"),
@Result(property="user" ,
one=@One(select="com.czxy.ssm.mapper.UserMapper.selectById") , column="uid"),
})
public Order selectById(@Param("oid") String id);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值