<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"/>
分享到:
相关推荐
在Mybatis这个强大的持久层框架中,多参数查询与列表查询是常见的操作,尤其是在处理复杂的业务逻辑时。本文将深入探讨Mybatis如何实现这两种查询方式,并提供多种实现方法。 首先,我们来理解Mybatis的基本概念。...
- 根据映射规则将数据库查询结果转换为 Java 对象,如 HashMap、JavaBean 或基本数据类型等。 #### 四、MyBatis 配置文件 - **sqlmapConfig.xml**:主配置文件,用于配置全局环境如数据库连接信息、事务管理器、...
PageHelper插件的工作原理是在SQL执行前动态修改SQL,插入分页关键字,然后通过ResultHandler处理结果集,将数据封装成分页对象。 4. **工具辅助**: 在实际开发中,除了源码阅读,还可以借助IDEA等工具进行快速...
- **二级缓存**:需要手动配置开启,生命周期为全局,主要用于解决多个 SqlSession 之间的缓存共享问题。 #### 八、MyBatis 的应用场景 1. **数据访问层** MyBatis 适用于需要高度定制化 SQL 的场景,可以作为 ...
MyBatis几乎消除了所有针对JDBC的手动编码工作,同时也极大地简化了参数设置和结果集的提取工作。 - **特性**: - 支持存储过程。 - 可以使用简单的XML或注解来进行配置。 - 支持映射基本数据类型、`Map`和`POJO`...
<select id="selectPerson" parameterType="int" resultType="hashmap"> SELECT * FROM PERSON WHERE ID = #{id} ``` - **命名空间**:每个映射文件都有一个唯一的命名空间,用来区分不同的映射文件。命名空间...
MySQL是一种广泛使用的开源关系型数据库管理系统,而iBatis(现在已经更名为MyBatis)是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。在处理大量数据时,分页查询是非常常见且重要的功能,它可以...
在本教程中,我们将深入探讨MyBatis框架的CRUD操作,这是MyBatis入门学习的第二部分。MyBatis是一个轻量级的持久层框架,它将SQL语句与Java代码分离,使得数据库操作更加灵活和易于维护。 首先,我们创建了一个名为...
- **EHCache**:是一个纯Java的缓存实现,主要用于缓存查询结果或计算结果,减轻数据库压力。 对于Java对象的存储,Redis可以通过`Jedis`客户端库的序列化机制实现。 #### 如何写SQL以有效利用复合索引 复合索引...