Mybatis输入映射parameterType与输出映射ResultMap是Map类型的解决方案

本文详细介绍了在MyBatis中如何使用Map类型作为输入参数及输出结果的配置方式。针对不同场景,展示了如何通过parameterType指定Map类型并从中获取特定键值,以及如何配置resultType为Map来接收查询结果。

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

当输入映射parameterType为是Map类型时:

<!-- 传入放入值是Map类型时:
		${uname}:取出key='uname'的值
	 -->
	<select id="findUser" parameterType="java.util.HashMap" resultType="cn.itcast.mybatis.po.User">
		select * from user where user.username like '%${uname}%' and user.sex='女'
	</select>

<!--public List<User> findUser(Map<String, String> map) throws Exception;-->

当ResultType是Map类型时

使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。

如果查询出来的列名和pojo类的列名全部不一致,则不会创建pojo对象

只要查询出来的列名和pojo中的属性名有一个一致,就会创建pojo对象

resultTypeMap是,将输出的字段名称作为Mapkeyvalue为字段值;如果查询出多个对象,Mapper.java应该定义为List<HashMap> 类型

<!-- 测试返回值是Map类型,字段是key值,字段的值是value -->
	<select id="findUserMap" parameterType="cn.itcast.mybatis.po.User" resultType="java.util.HashMap">
		select * from user where username like '${username}'
	</select>

<!--public List<HashMap> findUserMap(User user) throws Exception;-->


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值