1. 程式人生 > >SpringBoot框架下的SQL查詢空值結果時返回Map型別欄位為空

SpringBoot框架下的SQL查詢空值結果時返回Map型別欄位為空

今天在執行業務的時候發現在一次查詢時, 查詢出當一個欄位值為null時,封裝成Map型別返回的物件則不存在該值

如:

<select id="getUserDetail" parameterType="java.util.Map" resultType="java.util.Map">
    SELECT
    USER_ID AS userId,
    MOBILE AS mobile,
    NAME AS name
    FROM BC_USER_T 
    WHERE USER_ID = #{_map.userId}
</select>

    根據條件查詢時, 如果該條資料的MOBILE列為NULL, 則返回的Map物件裡不會有"mobile",這個key, 返回給前端則為undefined而不是null.使得前端報錯.

    而這樣子的情況,只要在Application.properties配置檔案裡.加入mybatis.configuration.call-setters-on-nulls=true就可以了。主要意義就是配置SQL就算列是null也會進行set操作