记录mybatis查询数值为空时被删除的解决办法(查询字段值为null时不返回)

背景:

使用SSM框架时,有时查询数据时存在字段为“null”时的情况,但之前不清楚什么时候会返回什么时候不会返回的情况,本文就用来记录自主控制“返回”和“不返回”的解决办法。

 同一个接口两种返回情况,示例:

准备两个字段,一个有值一个没值:

去除空值(查多个字段只返回有值的字段):

保留空值(查几个字段就返回几个字段):

 

 通过两种图片对比不难发现:保留空值时返回字段和查询的字段数量保持一致,去除空值时只返回了有值字段。

控制办法:

在mybatis的配置文件中加一行配置:<setting name="callSettersOnNulls" value="true" />。(有这个配置则会保留空值字段,没有的话会自动去除空值字段)

例如:

<?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>
        <setting name="callSettersOnNulls" value="true" />
    </settings>
</configuration>

如果没有的话可以新增一个配置文件然后在加到"application.yml"里:

1、新增配置文件,增加想要的配置,例如刚刚提到空值相关的配置

 2、把配置文件引入到application.yml:

 

posted @ 2022-04-13 18:31  请别耽误我写BUG  阅读(962)  评论(0编辑  收藏  举报