Mybatis结果生成键值对的实例代码

 更新时间:2017年02月10日 14:13:09   投稿:mrr  
这篇文章主要介绍了Mybatis结果生成键值对的实例代码,以及MyBatis返回Map键值对数据的实现方法,非常不错,具有参考借鉴价值,需要的的朋友参考下

下面给大家介绍下mybatis结果生成键值对的实例代码,具体内容如下所示:

在实际应用中我们经常会遇到这样的情况,需要给下拉框赋值,这个时候就需要键值对了,具体使用方法如下

1,在maper.xml文件中定义结果类型(resultType)定义为hashmap,如下所示

<select id="selectSuperUnitInfo" resultType="hashmap">
  SELECT unit_id ,unit_name from unit_info
 </select>

2,在对应的mapper类中用List<Map<String,String>>来接受这个类型,如下所示

public List<Map<String,String>> selectSuperUnitInfo();

其实最强大的莫过于resultMap类型了,这个可以在mapper.xml文件中自定义扩展类型,然后在包中添加这个类型即可,真是强大

下面给大家补充下MyBatis返回Map键值对数据

List<Map<String, String>> getMtypeList();
<select id="getMtypeList" resultType="java.util.HashMap">
  select code,`name` from jk_control_measure
</select>
[DEBUG] 2016-08-29 17:50:09 :==> Executing: select code,`name` from jk_control_measure 
[DEBUG] 2016-08-29 17:50:09 :==> Parameters: 
[DEBUG] 2016-08-29 17:50:10 :<==  Columns: code, name
[DEBUG] 2016-08-29 17:50:10 :<==    Row: one, 地面冲洗
[DEBUG] 2016-08-29 17:50:10 :<==    Row: two, 边界围挡
[DEBUG] 2016-08-29 17:50:10 :<==    Row: three, 垃圾覆盖
[DEBUG] 2016-08-29 17:50:10 :<==    Row: four, 裸地覆盖
[DEBUG] 2016-08-29 17:50:10 :<==    Row: five, 洒水降尘
[DEBUG] 2016-08-29 17:50:10 :<==    Row: six, 车辆冲洗
[DEBUG] 2016-08-29 17:50:10 :<==    Row: seven, 建筑渣土
[DEBUG] 2016-08-29 17:50:10 :<==    Row: eight, 车辆冒装
[DEBUG] 2016-08-29 17:50:10 :<==    Row: nine, 扬尘覆盖
[DEBUG] 2016-08-29 17:50:10 :<==    Row: ten, 车辆撒漏
[DEBUG] 2016-08-29 17:50:10 :<==    Row: eleven, 车辆黑烟
[DEBUG] 2016-08-29 17:50:10 :<==    Row: twelve, 道路积尘
[{"NAME":"地面冲洗","name":"地面冲洗","code":"one","CODE":"one"},
{"NAME":"边界围挡","name":"边界围挡","code":"two","CODE":"two"},
{"NAME":"垃圾覆盖","name":"垃圾覆盖","code":"three","CODE":"three"},
{"NAME":"裸地覆盖","name":"裸地覆盖","code":"four","CODE":"four"},
{"NAME":"洒水降尘","name":"洒水降尘","code":"five","CODE":"five"},
{"NAME":"车辆冲洗","name":"车辆冲洗","code":"six","CODE":"six"},
{"NAME":"建筑渣土","name":"建筑渣土","code":"seven","CODE":"seven"},
{"NAME":"车辆冒装","name":"车辆冒装","code":"eight","CODE":"eight"},
{"NAME":"扬尘覆盖","name":"扬尘覆盖","code":"nine","CODE":"nine"},
{"NAME":"车辆撒漏","name":"车辆撒漏","code":"ten","CODE":"ten"},
{"NAME":"车辆黑烟","name":"车辆黑烟","code":"eleven","CODE":"eleven"},
{"NAME":"道路积尘","name":"道路积尘","code":"twelve","CODE":"twelve"}
]

返回的结果带有大写与小写的key

如果在sql语句中的列名使用大写会怎样呢?自己测试一下吧!如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 详解JAVA8 函数式接口

    详解JAVA8 函数式接口

    这篇文章主要介绍了JAVA8 函数式接口的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Spring Cloud入门系列服务提供者总结

    Spring Cloud入门系列服务提供者总结

    这篇文章主要介绍了Spring Cloud入门系列之服务提供者总结,服务提供者使用Eureka Client组件创建 ,创建完成以后修改某文件,具体操作方法及实例代码跟随小编一起看看吧
    2021-06-06
  • 关于Springboot如何获取IOC容器

    关于Springboot如何获取IOC容器

    大家好,我是孤焰。最近我在制作日志审计功能时发现不知道怎样获取到Springboot项目中的IOC容器,经过摸索,最终解决了这个问题,现在把解决方式和大家分享一下
    2021-08-08
  • java线程池实现批量下载文件

    java线程池实现批量下载文件

    这篇文章主要为大家详细介绍了java线程池实现批量下载文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Redisson可重入锁解锁逻辑详细讲解

    Redisson可重入锁解锁逻辑详细讲解

    Redisson开源框架是一个Redis的分布式锁的现成实现方案,是Redis的java实现的客户端。通过Netty支持非阻塞I/O。Redisson实现了分布式锁的自动续期机制、锁的互斥自等待机制、锁的可重入加锁与释放锁的机制
    2023-02-02
  • java导出excel 浏览器直接下载或者或以文件形式导出

    java导出excel 浏览器直接下载或者或以文件形式导出

    这篇文章主要介绍了java导出excel 浏览器直接下载或者或以文件形式导出方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java 文件解压缩实现代码

    Java 文件解压缩实现代码

    这篇文章主要介绍了Java 文件解压缩实现代码,有需要的朋友可以参考一下
    2013-12-12
  • 完美解决因数据库一次查询数据量过大导致的内存溢出问题

    完美解决因数据库一次查询数据量过大导致的内存溢出问题

    今天小编就为大家分享一篇完美解决因数据库一次查询数据量过大导致的内存溢出问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • JAVA 多线程编程之CountDownLatch使用详解

    JAVA 多线程编程之CountDownLatch使用详解

    当多个线程需要协调和同步执行任务时,Java中的CountDownLatch(倒计时门闩)是一个常用的工具类,本文将介绍 CountDownLatch 的基本原理、用法以及示例代码,需要的朋友可以参考下
    2023-05-05
  • public static void main(String[] args)使用解读

    public static void main(String[] args)使用解读

    这篇文章主要介绍了public static void main(String[] args)的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01

最新评论