@MapKey用法说明
一、前言
@MapKey 是MyBatis框架的注解,作用是将List结果集转换成key-value形式的Map结果集,方便快速从结果集中查询指定结果。
1.1、用法
1.1.1、dao层
@MapKey("id")
Map getStudents();
1.1.2、xml层
<!--获取学生基本信息-->
<select id="getStudents" resultType="map">SELECT id, idCard, name FROM students
</select>
1.2、效果
使用前
使用后
二、注意事项
2.1、注意key的类型
值得注意的是,通过@MapKey注解返回的Map,其key的类型和指定的字段类型是一致的。
例如:指定id作为Map的key,id为int类型,那么该Map的key也为integer类型,如果你通过String类型的key去获取value,则获取不到。
2.2 、解决方案
2.2.1、保持原样
如果不需要对外使用的话,可以保持原样,只需要在注意一下key的类型即可。
2.2.2、统一使用String做为Key
直接通过mysql函数,修改返回的数据类型即可。
<!--获取学生基本信息-->
<select id="getStudents" resultType="map">SELECT Cast(id as char) AS id, idCard, name FROM students
</select>
三、参考文章
@MapKey的使用_make_888的博客-CSDN博客_@mapkey
@MapKey用法说明相关推荐
- MyBatis中@MapKey使用详解
MyBatis中@MapKey使用详解 我们在上一篇文章中讲到在Select返回类型中是返回Map时,是对方法中是否存在注解@MapKey,这个注解我也是第一次看到,当时我也以为是纯粹的返回单个数据对 ...
- boost中unordered_map的用法
学习数据结构的时候 偶然得知有个unordered_map,以前没有用过,查了查相关内容,据说效率比map高出很多,而且耗资源也少,研究一下 至于具体效率咋样我就不去验证了,网上太多了 参考:http ...
- Dagger 2 基本用法
1. Dagger2是什么? Dagger2是一个依赖注入(Dependency Injection)框架. 什么又是依赖注入呢? 借别人的话来说,就是"目标类中所依赖的其他类的初始化过程, ...
- c语言中external,static关键字用法
static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...
- Pandas_transform的用法
先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...
- Python中yield和yield from的用法
yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...
- pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法
squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...
- python yield 和 yield from用法总结
#例1. 简单输出斐波那契數列前 N 个数 #缺点:该函数可复用性较差,因为 fab 函数返回 None,其他函数无法获得该函数生成的数列 #要提高 fab 函数的可复用性,最好不要直接打印出数列,而 ...
- tf.nn.embedding_lookup()的用法
函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...
最新文章
- 零基础编程入门python视频-编程零基础应当如何开始学习 Python?
- (二)图像处理技术概述
- Android 第三方库RxLifecycle使用
- 计算机网络【3】网络层
- 真实的程序员是什么样子的!
- 计算机控制炉温实验,计算机控制(炉温控制)实验报告-20210412070439.docx-原创力文档...
- IDEA项目创建Mapper的xml文件的方法
- Ubuntu 16 安装JDK1.8
- 如何使用水经注下载地图
- 【安全】什么是0day漏洞?
- Docker执行命令提示设备没有相对空间,无法创建,overlay2文件夹磁盘占满
- 如何维持手机电池寿命_延长iPhone 手机电池寿命的几个方法
- 科技云报道:乘风破浪的联通沃云,是一朵安全可控的国产云
- 使用 Swift 语言编程的优缺点
- java mybatis多层collection嵌套查询
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- SQL Server 数据库之收缩数据库和文件
- 华硕的笔记本为什么按Fn+F9禁用触摸板不起作用了?
- 鲁大师性能测试要装什么软件吗,鲁大师怎么给电脑跑分?赶快看看你的电脑性能如何吧!...
- 自行申请软件著作权多少钱