mybatis返回map结果集 key value_java map.entry

mybatis返回map结果集 key value_java map.entry原文:http://blog.csdn.net/sou_liu/article/details/47755635最近需要用到Mybatis中查询结果集为Map的功能,查了好多资料,最终搞定。其实只需要重写ResultHandler接口,,然后用SqlSession的select方法,将xml里面的映射文件的返回值配置成HashMap就可以了。具体过程如下1、先看看

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

其实只需要重写ResultHandler接口,,然后用SqlSession 的select方法,将xml里面的映射文件的返回值配置成 HashMap 就可以了。具体过程如下

1、先看看xml文件怎么配置

 

[html] 

 

  1. <resultMap id=“getAllSetDaysResult”   type=“HashMap”>  
  2.     <result property=“key” column=“SP_FPARAMEKEY” />  
  3.     <result property=“value” column=“SP_FPARAMEVALUE” />  
  4.           
  5. </resultMap>  

 

来看看sql是怎么写的

 

[html]

 

  1. <select id=“getAllSetDays” resultMap=“getAllSetDaysResult”>  
  2. SELECT SP.FPARAMEKEY SP_FPARAMEKEY, SP.FPARAMEVALUE SP_FPARAMEVALUE   
  3.   FROM T_SERVER_PARAMETER SP  
  4.  WHERE SP.FPARAMEKEY IN (‘XXX’)  
  5. </select>  

这里面的property属性列的值,就是你后面实现的ResultHandler 接口返回的map集的key和value,具体看代码

 

2、重写org.apache.ibatis.session 中ResultHandler接口:

 

[java] 

 

  1. public class FblMapResultHandler implements ResultHandler {  
  2.     @SuppressWarnings(“rawtypes”)  
  3.     private final Map mappedResults = new HashMap();  
  4.   
  5.     @SuppressWarnings(“unchecked”)  
  6.     @Override  
  7.     public void handleResult(ResultContext context) {  
  8.         @SuppressWarnings(“rawtypes”)  
  9.         Map map = (Map) context.getResultObject();   
  10.         mappedResults.put(map.get(“key”), map.get(“value”));  // xml 配置里面的property的值,对应的列  
  11.     }  
  12.     public Map getMappedResults() {    
  13.         return mappedResults;    
  14.     }    
  15. }  

3、调用select方法:

 

[java] 

 

  1.        FblMapResultHandler fbl = new FblMapResultHandler();  
  2. getSqlSession().select(NAMESPACE +“getAllSetDays”,fbl);  
  3. @SuppressWarnings(“rawtypes”)  
  4. Map map =fbl.getMappedResults();  
  5. return map;  

此时map里面的key,和value就是我们数据库中表中的对应的两列了.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185724.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • NFS服务器搭建与配置[通俗易懂]

    NFS服务简介什么是NFS?NFS就是NetworkFileSystem的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。​ NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;NFS一般用来存储共享视频,图片等静态数据。NFS挂…

    2022年4月18日
    115
  • Qt自定义控件–电池

    Qt自定义控件–电池Qt自定义控件-电池如有建议或发现bug,还请大佬们指出。持续更新如需要,留言。

    2022年5月16日
    42
  • Lightroom人像磨皮滤镜插件portraiture Mac版

    Lightroom人像磨皮滤镜插件portraiture Mac版本次小编为您带来了Portraiture3forLightroomforMac,这是一款适用于Lightroom的lr人像磨皮滤镜插件。lr磨皮插件portraitureMac版功能非常强大,能够快速对图像中的皮肤,眉毛,头发,眼睛瞪部位进行磨皮修饰,去除瑕疵,同时为您保持皮肤的色泽!链接:https://pan.baidu.com/s/1U0QVMQ6Qa8F5NITbBVr3…

    2022年7月22日
    17
  • 暴力破解加密压缩文件

    暴力破解加密压缩文件实验目的应用Python程序设计语言的相关知识,对加密的压缩文件进行破解。实验所用仪器(或实验环境)Python3.8实验基本原理及步骤(或方案设计及理论计算)任务1:定义一个函数,函数带有一个参数L(类型为整数),函数返回一个长度为L、包含大小写字母和数字的随机密码(类型为字符串)。在任务1中,可以借助random中的choice,以及string库中的ascii_letters;至少用3个不同的长度测试函数的返回值。ascii_letters基本上是ascii_lowercase和

    2022年6月3日
    44
  • php 对象转json_php json解析

    php 对象转json_php json解析在PHP中,可以使用json_decode()函数来将json字符串转换为PHP对象。json_decode()函数用于解码JSON字符串,把json字符串转成对象或数组,默认转成对象;设置函数的第二个参数为true,则可转成关联数组。json_decode()函数是PHP中的内置函数,用于对JSON格式的字符串进行解码,可以将JSON格式的字符串转换为PHP变量(object或array)。…

    2022年10月7日
    5
  • SqlSessionFactory配置

    SqlSessionFactory配置SqlSessionFactory配置<transactionManagertype=”jdbc”>//typejdbc依赖jdbc实现事务控制manage本身对事务不做任何控制,交给外部容器//后端数据库源<dataSourcetype=”POOLDE”> <propertyname=”driver”value=””/> &…

    2022年6月5日
    195

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号