我正在做一個使用Spring 3.1.1和MyBatis3.0的項目。如何在使用mybatis時從查詢中更改值(null爲空字符串)?
我正在嘗試將iBatis更改爲MyBatis。然而,我正在努力與resultmap。
當使用iBatis時,我可以使用'nullValue'處理像下面這樣的查詢值。
<resultMap class="java.util.HashMap" id="ChannelData">
<result property="id" javaType="java.lang.String" column="CHANNEL_ID" nullValue=""/>
<result property="code" column="SELECTSCOPE" nullValue="Television"/>
</resultMap>
的問題是那裏的MyBatis沒有 'NullValue屬性'。另外,如果該列爲'null',那麼mybatis永遠不會填充該元素。例如。如果'SELECTSCOPE'爲空,則帶來{id=aaa}
。我需要這樣的數據 - >{id=aaa, code=''}
。無論如何處理這個?
P.S.
我查詢了20多列。其中一些需要「」,當值爲null時,其他人有自己的默認字符串值(如果我使用iBatis,'nullValue'是magic關鍵字)我發現一些鏈接建議使用自定義類型處理程序,但處理程序超過20可能會導致未來的修復或維護混亂。我需要一些簡單的方法。
非常感謝:d
===================================== =================================================
我找到了一些方法來使一些空值。它需要一些配置。
- 化妝config.xml文件,其中應當包含的MyBatis配置DTD和像下面
現在<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL MAP Config 3.1//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="callSettersOnNulls" value="true"/> </settings> </configuration>
,我可以得到一些{id="aaa", code = null}
信息設置。這是另外一個問題。我如何設置查詢的默認值?例如。如果'code'的值爲null,那麼我想把默認的String'default'。所以結果應該從 {id="aaa", code=null}
更改爲{id="aaa",code="default"}
。可能嗎?
謝謝〜
您應該使用「callSettersOnNulls」創建另一個答案並接受該答案。 – luboskrnac