关于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 &gt;= #{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集合相关推荐

  1. java mybatis 返回map_mybatis返回map集合的格式是什么?mybatis返回map集合实例

    Mybatis因为会与数据库交互,所以经常会有返回map集合的场景,那一般mybatis返回map集合的格式是什么呢?下面小编就用一些实例与你分享分享吧. 例1:返回key不定:返回key为学员id, ...

  2. java基于文件的map实现_Mybatis中返回Map的实现

    在Mybatis中,我们通常会像下边这样用: 返回一个结果 User selectOne(User user); select id,username,telphone from user where ...

  3. Java中的Map集合遍历总结(详尽版)

    因为Map集合中的键值对排列无序,所以不能用传统的for循环来遍历,只能使用加强循环(for-each)和迭代器进行遍历. 让我们通过例子来了解Map集合的遍历: package gather; im ...

  4. java 中map_Java Map集合详解

    Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象.其中,键对象不允许重复,而值对象可以重复,并且值对象还可以是 Map 类型的,就像数组中的元素 ...

  5. Java中遍历Map集合的5种方式总结

    这篇文章主要给大家介绍了关于Java中遍历Map集合的5种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值. 方式一 通过Map.keySet使用iterator遍历 ...

  6. JAVA中的Map集合

    JAVA中的Map集合 1.Map简介 java.util.map接口 1.Map称为查找表,该数据结构的样子是一个"多行两列"的表格,左列为key,右列为value,Map总是根 ...

  7. java 定义map集合_Java中的Map集合

    Map集合: 个人感觉Map接口以后会经常用到,可以很清晰地查找某个对象,要熟悉其四种遍历方法.特别注意其键值对的键不能是重复的,有想定义有序存取的话,可以使用LinkedHashMap集合.不过定义 ...

  8. mybatis中循环map集合操作

    首先声明一个MAP集合,用来存放数据:如下图:声明map集合pd,将数据put到pd中,然后在声明一个map集合params,将pd几个放入params集合中,将params作为参数,参入xml配置文 ...

  9. 2020-08-10 Mybatis配置、使用Map集合传递SQL参数、核心配置文件解析、给包取别名

    mybatis配置错误解析 注意!在Mapper.xml的配置文件中,namespace的路径要写成这种形式 <mapper namespace="com.wang.Dao.UserM ...

最新文章

  1. web自动化测试从入门到持续集成(selenium webdriver)
  2. python format
  3. vivado在远程服务器上完成本地设备的程序烧写和调试(vivado远程调试)
  4. vue中用的swiper轮播图的用法及github的地址
  5. 学习ASP.NET Core,怎能不了解请求处理管道[2]: 服务器在管道中的“龙头”地位
  6. SpringBoot项目整合Retrofit最佳实践,这才是最优雅的HTTP客户端工具!
  7. 腾讯225页报告:AI正取代互联网成为新引擎,马化腾提七大关键词
  8. oracle创建用户与权限操作(oracle学习笔记一)
  9. 比特币 POW 白皮书 区块篡改成功的概率 代码 注释详解
  10. 《Java数据结构入门》顺序表详解
  11. Android应用启动白屏问题解决办法
  12. 【ElasticSearch】ES分页查询超过10000限制解决
  13. latex 花体之英文字母
  14. UE4音乐的使用与优化
  15. gdb: warning Can‘t open file /usr/lib/libstdc++.so.6.0.19 during file-backed mapping note processing
  16. ★戏子入画、一生天涯
  17. ibatis mysql存储过程_分步详解 如何在iBatis中调用存储过程
  18. UVaOJ 11205 - The broken pedometer
  19. 2022-2028年全球与中国奶酪格栅机行业市场需求预测分析
  20. 《现代操作系统(中文第四版)》笔记 第三章 内存管理

热门文章

  1. 从复现人类智能到挑战AI大工程,智能计算正经历什么考验?
  2. 绕开数学,讲讲信息论
  3. 人工智能的社会、伦理与未来
  4. 2018中国自动驾驶市场专题分析
  5. 自然语言处理(NLP)前沿进展报告
  6. 工业4.0进行时:工业机器人为何能够快速爆发?
  7. 只有程序员才懂的手势 | 每日趣闻
  8. 12月31日写成13月1日引发重大 Bug,程序员新年就要被“祭天”?
  9. 漫画 | 程序员必须要小心的 7 个潜规则
  10. 漫画:如何在数组中找到和为 “特定值” 的两个数?