输入(parameterType)与输出(resultType、resultMap)映射的区别是什么?

在MyBatis中,parameterType负责输入映射,将方法参数映射到SQL语句;resultType与resultMap完成输出映射,将查询结果转化为Java对象。当SQL查询列名与Pojo属性一致时,可直接使用resultType;若不一致,需利用resultMap定义列名与属性的映射关系。

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

在MyBatis中,我们通过parameterType完成输入映射(指将值映射到sql语句的占位符中,值的类型与dao层响应方法的参数类型一致),通过resultType完成输出映射(从数据库中输出,通过dao层的方法查询到的数据输出到pojo对象中)。 注意输入与输出都是相对于数据库的。接下来我们先谈谈输入映射。工程目录结构如下:
这里写图片描述


1.输入映射parameterType

通过parameterType传入简单类型或对象,我们之前讲过了,接下来我们要讲的是parameterType传递pojo包装对象。可以定义pojo包装类型扩展mapper接口输入参数的内容。

看下我们的需求:定义查询条件查询用户信息,需要向statement输入查询条件,查询条件可以有user信息、商品信息等等。

首先我们在domain包下创建UserCustom类并继承User,
这里写图片描述
UserCustom类用于对User属性进行扩展(例如User中只有用户信息,而我们可以在UserCustom中加入商品信息),然后再创建User的包装类UserQueryVo.java:
这里写图片描述
UserMapper.xml中添加如下配置信息:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值