Mybatis中resultType为map时,null值的字段不返回问题

问题描述

<select id="getCompanyRoadshow" parameterType="map" resultType="map">
        SELECT
           id,
           name,
           addr
        FROM
           user
         WHERE
           id = #{id}  
    </select>

以上查询,当addr字段值在数据库中为null时,返回的结果如下:

{
"id": 1,
"name": "test"
}

正常我们想要的应该是这样:

{
"id": 1,
"name": "test",
"addr": null
}

解决办法

  • null值变成空字符串
SELECT
	id,
	name,
	case when addr is not null
		then addr 
		else  '' 
	end addr
FROM
	user
WHERE
	id = #{id}  
  • 传统项目配置xml文件中配置:
<settings>
		<!-- 指定当结果集中值为 null 的时调用映射对象的 setter(map 对象时为 put)方法 -->
		<setting name="callSettersOnNulls" value="true" />
</settings>
  • springboot项目properties中配置:
mybatis.configuration.call-setters-on-nulls=true

参考文章:https://www.cnblogs.com/ityangshuai/p/12759787.html

热门文章

暂无图片
编程学习 ·

ssm学习笔记——spring——AOP配置

spring中基于XMl的AOP配置1、把通知的bean也交给spring来管理2、使用aop:config标签表明开始AOP配置3、使用aop:aspect标签表明配置切面id属性:给切面提供唯一标识ref属性:是指定通知类的Id4、在aop:aspect标签的内部使用对应标签来配置通知的类型示例:让printLog方法在切…
暂无图片
编程学习 ·

Linux 文件系统解析(三)cache

Linux文件系统中使用了大量cache,用于提升IO性能,本篇来梳理一下这些与文件系统相关的cache,它们在内存中是如何组织管理的,它们是如何加速文件系统操作的。Dentry Cachedentry用于描述系统目录树中的一个节点,磁盘文件系统中通常没有相关结构,dentry只存在于内存之中,它…
暂无图片
编程学习 ·

好程序员web前端培训分享HTMLCSS学习笔记BFC

好程序员web前端培训分享HTMLCSS学习笔记BFC,BFC(Block formatting context)直译为“块级格式化上下文”。它是一个独立的渲染区域,只有Block-level box(块)参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。 BFC的布局规则 一、内部的Box会在垂…
暂无图片
编程学习 ·

Web会话管理

1.会话管理基本原理 1.隐藏域 将表单中的内容在显示页面时隐藏,不显示数据,在JSP 中将input标签type设置为hidden 生成一个隐藏表单域。将会话的唯一标识记录到隐藏域中的value值中,并设定name值。提交给服务器之后,服务器会根据根据会话标识找到会话对象。 缺点:实现比较…
暂无图片
编程学习 ·

vue中的keep-alive使用总结

在平常开发中,有些组件只需要加载一次,后面的数据将不存在变化,亦或者是组件需要缓存状态,滚动条位置等,这个时候,keep-alive的用处就立刻凸显出来了。1.App.vue中使用keep-alive,include表示需要缓存的页面,exclude表示不需要缓存的页面,你可以只设置其中一个即可,但…
暂无图片
编程学习 ·

Centos Linux 服务器怎么在服务器内部访问网站?

有些时候,测试需要,想在服务器内部访问自己的网站看看能否正常打开。Windows的服务器一般直接http://localhost/,或者网址就可以了。没有安装桌面环境的Linux怎么办呢?curl http://www.xyservice.com就可以访问http://www.xyservice.com这个网址了。当然,是直接把网页源代…
暂无图片
编程学习 ·

2-Openwrt ipv6之-pppoev6客户端

pppoe拨号方式上网,ubunut服务器需要有pppoe-server也要有dhcpv6-server,路由器端需要ppp-client,也要odhcp6c指向pppoe-wan端口。1. PPPOEv6客户端启动过程pppoe拨号为wan上面的另一种方式,所以需要将uci里面的上网模式proto 改成pppoe config interface wanoption ipv6 1…
暂无图片
编程学习 ·

ITEST考试助手 --- 记一次我与ITEST的拉锯战

文章目录0x0 前言0x1 1.0版本 -- 解除限制我方进攻0x2 2.0版本 - 自动翻译与解析听力我方进攻ITEST方防御0x3 3.0版本 -- 解除切屏限制与添加翻译助手反制防御我方进攻ITEST防御0x4 4.0版本 - 全随机与ajax拦截反制防御我方进攻ITEST防御0x5 5.0版本 - 只读属性的胜利反制防御我…
暂无图片
编程学习 ·

第四天实训:GUI学生信息管理系统

实训目的:主要涉及程序控制结构、面向对象编程、图形用户界面、Java数据库应用、MySQL数据库这几个方面的内容。通过本项目的开发,了解系统开发的一般流程,初步了解MVC模式与单元测试,巩固所学的Java理论知识,提高Java数据库应用编程的基本技能。 项目说明:本系统包括登录…
暂无图片
编程学习 ·

qqwwee/keras-yolo3 多gpu训练问题

qqwweee/keras-yolo3模型默认采用的是一块GPU,在直接使用model = multi_gpu_model(model,gpus=N)时,模型会报错tensorflow.python.framework.errors_impl.InvalidArgumentError: Can’t concatenate scalars (use tf.stack instead) for ‘yolo_loss_1/concat’ (op: ‘Conca…
暂无图片
编程学习 ·

linux系统与windows系统的选择

linux系统与windows系统的选择 由 虎扑JR0716707505 发表在虎扑步行街步行街主干道 https://bbs.hupu.com/bxj 我们经常遇到有的用户在租用网站服务器之后,说不知道该选择linux系统还是windows系统,我给出的建议是用户可以根据自己的需求,操作,安全,稳定以及性价比来看,就…
暂无图片
编程学习 ·

抓头,0xc00005错误看到一个比较多的解释 记录一下

说明文字:PAGE-FAULT-IN-NONPAGED-AREA 通常的原因:内存错误(数据不能使用分页文件交换到磁盘中). 解决方法:卸掉所有的新近安装的硬件. 运行由计算机制造商提供的所有系统诊断软件.尤其是内存检查. 检查是否正确安装了所有新硬件或软件,如果这是一次全新安装,请与硬件或软…
暂无图片
编程学习 ·

企业人力资源管理项目SSH+EXTJS+MySQL整合开发源码分享

企业人力资源管理项目,是SSH+EXT+MySQL+MD5...... 功能有:会话过滤、MD5加密、文件上传、权限设置、报表统计......运行环境jdk7tomcat7mysqlIntelliJ IDEA 项目技术(必填)springstrutshibernate 项目截图运行截图关注点赞之后,私信关键字【源码】即可免费获取~
暂无图片
编程学习 ·

一周信创舆情观察(6.22~6.28)

一、一周舆情要点 第四届世界智能大会本周成功举办,技术服务项目由腾讯云提供支持。大会云签约148个项目,其中内资项目投资809亿元,外资项目投资约16亿美元。会议期间,天津港集团和华为签署战略合作协议,双方将加强信息化顶层设计及智慧港口合作。 数据安全监管趋严,网安…
暂无图片
编程学习 ·

Metasploit使用msfcli命令行接口编写shell脚本程序

问题描述使用msfcli命令行接口编写一个Shell脚本程序,实现用户只需输入目标Linux靶机IP地址作为参数,就可以使用usermap_script漏洞渗透攻击模块,获得靶机的远程Shell访问。 解决办法由于2005年时便取消了msfcli,因此使用msfconsole -x来代替msfcli。先提供脚本内容如下: …
暂无图片
编程学习 ·

用C语言解一元二次方程式的根

#include<stdio.h> #include<math.h> //需要用到一个sqrt()函数,该函数功能用于开方;//该函数运算结果数据类型为double类型;如果涉及到运算请将数据类型定义成浮点型! int main () {float a,b,c,x1,x2;printf("请分别输出方程式的系数,中间以空格分隔\n&…