mybatis 一对多配置

本文介绍了MyBatis中一对多的配置方法,通过association和collection标签映射一对一和一对多关系。讨论了一对多关系的实例,并详细解析了MyBatis如何通过嵌套查询和嵌套结果来加载关联对象。同时,展示了如何在XML映射文件中配置collection属性,包括property、column、javaType、select、fetchType和ofType等属性的使用。并给出了具体查询示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

比如同时有baiA.java和B.java两个类,A.java如下du:
public class A{
private B b1;
private List b2;
}

在映射b1属性时用association标签bai, 映射b2时用collection标签,分别是一对一du,一对多的关系
什么是一对多?
  一对多关系应该是开发人员接触得最多的关联关系。打个比方,淘宝上,一个用户他拥有多个订单,而这几个订单单独属于此用户,这个关联关系就叫一对多关系。在数据库中则表示为两张表互相关联,如用户表(A表)关联订单表(B表),那么A表的一行数据就和B表的多条数据产生关联。
  
 
   
MyBatis加载关联关系对象主要通过两种方式

嵌套查询:
  1、嵌套查询是通过另一条SQL映射语句来返回预期的复杂类型
  2、嵌套查询是查询语句中插入一个子SQL语句
  3、嵌套查询会执行多条SQL语句
  4、嵌套查询编写SQL语句较为简单,但消耗资源大,可配置延迟加载解决

嵌套结果:
  1、嵌套结果是使用嵌套结果映射来重复的联合结果的子集
  2、嵌套结果是一个嵌套的多表查询的SQL语句
  3、嵌套结果只会执行一条复杂的SQL语句
  4、嵌套结果SQL语句编写比较复杂
 
  
   
    
     
     
在< collection >子标签通常可以配置一下属性

它的属性大部分和association标签的属性相同,但多了个ofType属性。

属性名 作用
property 指定映射数据库的JAVA实体类对象的属性,与数据库表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值