記錄mybatis查詢數值為空時被刪除的解決辦法(查詢欄位值為null時不返回)
阿新 • • 發佈:2022-04-13
背景:
使用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: