`
wellba
  • 浏览: 31957 次
  • 性别: Icon_minigender_1
  • 来自: 郴州
社区版块
存档分类
最新评论

解决mybatis查询resultType是HashMap,字段值为null,结果集问题

阅读更多
<select id="select" parameterType="xx" resultType="java.util.HashMap">
    select a,b,c,d,e from t_order o 
</select>


假设SQL查询有3条记录,
第一条所有字段都有值,
第二条字段b为null,e为空字符串
第三条c、d 字段结果为null
那么结果为
[{a=xx, b=xx, c=xx, d=xx, e=xx}, 
 {a=xx, c=xx, d=xx, e=},
 {a=xx, b=xx, e=xx}]


想要结果集显示为
[{a=xx, b=xx, c=xx, d=xx, e=xx}, 
 {a=xx, b=null, c=xx, d=xx, e=},
 {a=xx, b=xx, c=null, d=null, e=xx}]


在mybatis-config.xml配置文件中加下面这句代码即可解决
<!-- 在null时也调用 setter,适应于返回Map,3.2版本以上可用 --> 
<setting name="callSettersOnNulls" value="true"/>
分享到:
评论
3 楼 夜凉丶风 2017-11-18  
我也是来感谢的,没找到这个就要修改很多东西。。。
2 楼 woaihuangjiaju 2016-12-08  
注册账号,前来感谢。这个问题困扰了我一下午
1 楼 jilonghun 2016-09-08  
给力,问题得解,谢谢分享。

相关推荐

    Mybatis多参数查询与列表查询不同方式实现

    在Mybatis这个强大的持久层框架中,多参数查询与列表查询是常见的操作,尤其是在处理复杂的业务逻辑时。本文将深入探讨Mybatis如何实现这两种查询方式,并提供多种实现方法。 首先,我们来理解Mybatis的基本概念。...

    mybatis笔记

    - 根据映射规则将数据库查询结果转换为 Java 对象,如 HashMap、JavaBean 或基本数据类型等。 #### 四、MyBatis 配置文件 - **sqlmapConfig.xml**:主配置文件,用于配置全局环境如数据库连接信息、事务管理器、...

    myBatis系列之八:分页查询

    PageHelper插件的工作原理是在SQL执行前动态修改SQL,插入分页关键字,然后通过ResultHandler处理结果集,将数据封装成分页对象。 4. **工具辅助**: 在实际开发中,除了源码阅读,还可以借助IDEA等工具进行快速...

    MyBatis使用与实现.pdf

    - **二级缓存**:需要手动配置开启,生命周期为全局,主要用于解决多个 SqlSession 之间的缓存共享问题。 #### 八、MyBatis 的应用场景 1. **数据访问层** MyBatis 适用于需要高度定制化 SQL 的场景,可以作为 ...

    MyIbatis\MyBatis3_用户指南(附JavaDB实例)

    MyBatis几乎消除了所有针对JDBC的手动编码工作,同时也极大地简化了参数设置和结果集的提取工作。 - **特性**: - 支持存储过程。 - 可以使用简单的XML或注解来进行配置。 - 支持映射基本数据类型、`Map`和`POJO`...

    MyBatis3--开发指南(附JavaDB实例)

    &lt;select id="selectPerson" parameterType="int" resultType="hashmap"&gt; SELECT * FROM PERSON WHERE ID = #{id} ``` - **命名空间**:每个映射文件都有一个唯一的命名空间,用来区分不同的映射文件。命名空间...

    适用mysql分页的ibator

    MySQL是一种广泛使用的开源关系型数据库管理系统,而iBatis(现在已经更名为MyBatis)是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。在处理大量数据时,分页查询是非常常见且重要的功能,它可以...

    mybatis入门02

    在本教程中,我们将深入探讨MyBatis框架的CRUD操作,这是MyBatis入门学习的第二部分。MyBatis是一个轻量级的持久层框架,它将SQL语句与Java代码分离,使得数据库操作更加灵活和易于维护。 首先,我们创建了一个名为...

    中级程序员必备面试题.txt

    - **EHCache**:是一个纯Java的缓存实现,主要用于缓存查询结果或计算结果,减轻数据库压力。 对于Java对象的存储,Redis可以通过`Jedis`客户端库的序列化机制实现。 #### 如何写SQL以有效利用复合索引 复合索引...

Global site tag (gtag.js) - Google Analytics