mybatis 返回Map類型key默認為大寫問題

返回Map類型key默認為大寫

在工作中發現的問題

默認情況下,當resultType=“java.util.Map”時,返回的key值都是大寫的!!

<select id="getSystemDataOutZxwtList"  resultType="java.util.Map">
</select>

修改方法

<select id="getStudentList" resultType="java.util.Map"> 
select t.name as "sName",t.sex as "sSex" 
        from student 
</select>

關於mybatis返回map的坑

mybatis返回類型為java.util.Map的時候,會有問題,就是如果該字段為null或者“”的話,封裝返回的Map中會自動去除該字段,因此經常會在Map中取不到值,關於這個問題網上有很多解決辦法,mybatis高版本通過配置settings解決,低版本的話暫時無法解決

Map中key是分大小寫的

mybatis返回的Map封裝,Key默認全是大寫,因此JAVA取Map值,key都要大寫

其實低版本可以通過Java定義與sql相同的字段名稱,在JAVA中判斷是否包含鍵值對,如果沒有,那麼手動添加該鍵的空值(空鍵值對),相當於自己又封裝瞭一遍數據,其實比較麻煩,如果更改SQL,那麼JAVA也要相應更改

其他暫無好的辦法

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: