Mybatis中的内联映射与额外SQL中 封装为对象与List

本文介绍了在MyBatis中处理映射文件时,如何运用内联映射和额外SQL属性来封装多表查询结果。内联映射用于根据属性区别封装数据,而额外SQL则允许在原有SQL基础上动态添加语句,特别适用于处理List类型的集合。通过association配置可以定义内联映射的对象类型,collection配置则用于定义集合泛型并指定额外的DAO层方法。

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

在处理MyBatis中的映射文件时会遇到 内联映射与额外SQL属性的相关问题

在使用ResultMap进行封装数据时多表查询会有以下的需求

1.内联映射:类似于在多表查询的基础上根据不同的属性 做一些区别的封装

2.额外SQL:(再配置好的前提下) 在原有的SQL执行中 根据需要MyBatis按需求在发送一些SQL语句,对于List较好

<!-- 封装单个信息 -->
		<association property="" javaType="">
			<id column="" property="" />
			<result column="" property="" />
		</association>
<!-- 封装为list信息 -->
		<collection property="" column="" ofType="" 
			select=""//为DAO层的方法 也就是额外SQL  如 select="cn.edu.hdu.zhn.IOrderDAO.getByOid"
		/>

其中 

association   ->   property:  是原javaBean中的 属性 

                     ->    javaType: 为内联映射封装的对象类型

                     ===》 双标签 内容为需要重新封装信息         <result/id    column="" property=""/>  

 

 collection    ->    property:  是原javaBean中的 属性 如  Teacher 的studentList                         

                    ->    ofType:  是封装成集合中的泛型  

                    ->   colum:  发送额外SQL时传递的一个参数

                    ===》  单标签  其中的select=“  ”  为所指向的那一个DAO层方法


小白写得不太好,若有问题,欢迎大家指出来啦


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值