1. 程式人生 > 其它 >記錄mybatis查詢數值為空時被刪除的解決辦法(查詢欄位值為null時不返回)

記錄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: