【mybatis】mybatis中 返回map集合
关于mybatis返回map集合的操作:
1.mapper.xml中写一个查询返回map的sql
<select id="findMap" parameterType="com.sxd.swapping.domain.HuaYangArea" resultType="java.util.HashMap">selecthy.uid,hy.area_namefromhua_yang_area AS hy<where><if test="areaPerson != null">AND hy.area_person >= #{areaPerson}</if></where></select>
2.mapper.java 对应接收,注意,这里并不是直接使用Map<>接收,因为sql查出的不是一条数据,而是多条数据,所以是List<Map<>>接收
/*** mybatis 查询接收map集合* @param area* @return*/List<Map<String,String>> findMap(HuaYangArea area);
3.错误写法:
错误的写法就是直接读取List中的Map<>
@Overridepublic Map<String, String> findMap(HuaYangArea entity) {List<Map<String,String>> list = huaYangAreaMapper.findMap(entity);Map<String,String> res = new HashMap<>();for (Map<String, String> stringStringMap : list) {System.out.println(stringStringMap.toString());stringStringMap.forEach((k,v)->{System.out.println("key:"+k+">>>value:"+v);res.put(k,v);});}return res;}
这样查询到的结果是:
我们需要看一哈实际List<Map<>>中到底存储的是什么
结果集中存储是按照{字段名1:字段值1,字段名2:字段值2}
而我们其实期望的是{字段值1:字段值2}
4.正确写法:
所以正确的写法应该是
@Overridepublic Map<String, String> findMap(HuaYangArea entity) {List<Map<String,String>> list = huaYangAreaMapper.findMap(entity);Map<String,String> res = new HashMap<>();for (Map<String, String> stringStringMap : list) {System.out.println(stringStringMap.toString());String uid = null;String areaName = null;for (Map.Entry<String,String> entry:stringStringMap.entrySet()){if ("uid".equals(entry.getKey())){uid = entry.getValue();}else {areaName = entry.getValue();}}res.put(uid,areaName);}return res;}
返回结果:
【mybatis】mybatis中 返回map集合相关推荐
- java mybatis 返回map_mybatis返回map集合的格式是什么?mybatis返回map集合实例
Mybatis因为会与数据库交互,所以经常会有返回map集合的场景,那一般mybatis返回map集合的格式是什么呢?下面小编就用一些实例与你分享分享吧. 例1:返回key不定:返回key为学员id, ...
- java基于文件的map实现_Mybatis中返回Map的实现
在Mybatis中,我们通常会像下边这样用: 返回一个结果 User selectOne(User user); select id,username,telphone from user where ...
- Java中的Map集合遍历总结(详尽版)
因为Map集合中的键值对排列无序,所以不能用传统的for循环来遍历,只能使用加强循环(for-each)和迭代器进行遍历. 让我们通过例子来了解Map集合的遍历: package gather; im ...
- java 中map_Java Map集合详解
Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象.其中,键对象不允许重复,而值对象可以重复,并且值对象还可以是 Map 类型的,就像数组中的元素 ...
- Java中遍历Map集合的5种方式总结
这篇文章主要给大家介绍了关于Java中遍历Map集合的5种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值. 方式一 通过Map.keySet使用iterator遍历 ...
- JAVA中的Map集合
JAVA中的Map集合 1.Map简介 java.util.map接口 1.Map称为查找表,该数据结构的样子是一个"多行两列"的表格,左列为key,右列为value,Map总是根 ...
- java 定义map集合_Java中的Map集合
Map集合: 个人感觉Map接口以后会经常用到,可以很清晰地查找某个对象,要熟悉其四种遍历方法.特别注意其键值对的键不能是重复的,有想定义有序存取的话,可以使用LinkedHashMap集合.不过定义 ...
- mybatis中循环map集合操作
首先声明一个MAP集合,用来存放数据:如下图:声明map集合pd,将数据put到pd中,然后在声明一个map集合params,将pd几个放入params集合中,将params作为参数,参入xml配置文 ...
- 2020-08-10 Mybatis配置、使用Map集合传递SQL参数、核心配置文件解析、给包取别名
mybatis配置错误解析 注意!在Mapper.xml的配置文件中,namespace的路径要写成这种形式 <mapper namespace="com.wang.Dao.UserM ...
最新文章
- web自动化测试从入门到持续集成(selenium webdriver)
- python format
- vivado在远程服务器上完成本地设备的程序烧写和调试(vivado远程调试)
- vue中用的swiper轮播图的用法及github的地址
- 学习ASP.NET Core,怎能不了解请求处理管道[2]: 服务器在管道中的“龙头”地位
- SpringBoot项目整合Retrofit最佳实践,这才是最优雅的HTTP客户端工具!
- 腾讯225页报告:AI正取代互联网成为新引擎,马化腾提七大关键词
- oracle创建用户与权限操作(oracle学习笔记一)
- 比特币 POW 白皮书 区块篡改成功的概率 代码 注释详解
- 《Java数据结构入门》顺序表详解
- Android应用启动白屏问题解决办法
- 【ElasticSearch】ES分页查询超过10000限制解决
- latex 花体之英文字母
- UE4音乐的使用与优化
- gdb: warning Can‘t open file /usr/lib/libstdc++.so.6.0.19 during file-backed mapping note processing
- ★戏子入画、一生天涯
- ibatis mysql存储过程_分步详解 如何在iBatis中调用存储过程
- UVaOJ 11205 - The broken pedometer
- 2022-2028年全球与中国奶酪格栅机行业市场需求预测分析
- 《现代操作系统(中文第四版)》笔记 第三章 内存管理