MyBatis中@Many的具体使用
作者:Caven77
本文主要介绍了MyBatis中@Many的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
@Result+@Many(一对多映射)
如果 User 关联多个 Order,可以用 @Many 进行查询:
表结构
| user_id | order_id | order_name |
|---|---|---|
| 1 | 1001 | Phone |
| 1 | 1002 | Laptop |
| 2 | 1003 | Keyboard |
实体类
public class Order {
private Integer id;
private String orderName;
}
public class User {
private Integer id;
private String userName;
private List<Order> orders; // 一对多映射:一个用户对应多个订单
}
查询User时,自动查询Order
@Select("SELECT id, username FROM t_user")
@Results({
@Result(property = "id", column = "id"),
@Result(property = "userName", column = "username"),
@Result(property = "orders", column = "id",
many = @Many(select = "org.example.mapper.OrderMapper.selectByUserId"))
})
List<User> selectUsers();
- @Many(select = "org.example.mapper.OrderMapper.selectByUserId"):
- orders 通过 OrderMapper.selectByUserId 查找订单列表
- 相当于 select * from t_order where user_id = #{id}
@One和@Many是类似的。
Mybatis many=@Many的传值问题
到此这篇关于MyBatis中@Many的具体使用的文章就介绍到这了,更多相关MyBatis @Many内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
