resultMap和resultType,parameterMap和parameterType

本文深入探讨MyBatis框架中ResultMap与ResultType的区别与应用。ResultMap提供灵活的映射方式,适用于多表查询及别名场景;ResultType则简化单表查询,常用于Bo层对象映射。此外,文章还对比了ParameterMap与ParameterType的使用场景。

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

1.ResultMap和ResultType,它们都是用来表示查询结果集与java对象之间的一种关系,将查询结果集,按照某种关系映射到java对象。

2.ResultMap:将查询结果集中的列一一映射到java对象的各个属性上去,是根据用户在“resultMap”的子标签中的配置来决定的,灵活多变,常用于多表查询以及查询时使用别名的情况。

3.ResultMap但是实际业务开发单表用到的多,generator代码生成器生成一个表结构标签 BaseResultMap,查询单表的时候就可以直接用。ResultType在实际开发中用到较多,在多表查询时候,一般会用两张表里不同的字段,这个时候一般操作就是新建一个Bo层的model类将多表查询想要的字段映射到Bo层对象的各个属性上。

 

4.ParameterMap(没用过)和ParameterType

ParameterMap和ParameterType设置入参字段映射。

看下Mapper接口中参数:

@Param是按照名字进行匹配,ParameterType是按照类型匹配。单个参数可以用ParameterType,多个参数的时候按@Param名字匹配即可,对于按照ParameterType类型就不能匹配了。

一般操作是:单个参数时Mapper不写@Param 而是在xml写ParameterType 来定义类型。

看下generator代码生成器生成的代码,它就是这样做的:Mapper不写@Param ,在xml写ParameterType 来定义参数类型

对于ParameterType在实际业务开发中,除了generator代码生成器生成的代码会用到,一般自己写的接口都用@Param 名字匹配,很少用到 ParameterType。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值