34.从零开始学springboot-mybatis查询字段null值不回显问题

前言

作者最近使用mybatis写sql查询,xml中查询某表记录,使用

    <!-- 查询列表 -->
    <select id="queryList" parameterType="com.mrcoder.query"
            resultType="map">
          select name, category  from product
    </select>

突然发现,返回的list,居然少了category这个字段,仔细一看,发现数据库中该值为null.

解决

当xml写sql时, resultType=“map”, mybatis默认会将值为null的字段不返回,这就导致了,你明明查询可能是5个字段,但是因为某些字段的值为null,最终返回的字段小于5个.

方案一(使用实体类作为resultType)

意思就是你定义一个实体类作为返回类型,这样null值也会填充实体对象,就不会出现这样情况.

方案二(修改配置)

  • 如果你是使用xml配置的mybatis,则加上以下配置
<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">  
<configuration>  
  <settings>  
  <!--解决,查询返回结果含null没有对应字段值问题-->  
  <setting name="callSettersOnNulls" value="true"/>  
  </settings>  
</configuration> 
  • 如果你使用了配置类来配置mybatis的,则加上以下代码
    或者
    MybatisConfig.java:
configuration.setCallSettersOnNulls(true);

请关注我的订阅号

订阅号.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码哥说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值