2012-12-03 67 views
1

我正在查詢哪個返回java.util.HashMap。 當查詢返回1行或更多行時它返回散列表,但是當查詢返回0行時,我得到null列表,即[null]。 這不是IBatis的情況。在IBatis中,當0行返回時,它返回包含hashmap的列表,即[Map(columnName1:null,columnName12:null)作爲返回值。MyBatis不返回空值的列

有沒有我可以做的任何配置來獲得相同的結果?

我MyBatis的XML配置

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL Map Config 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-config.dtd"> 
<configuration> 
<settings> 
    <setting name="jdbcTypeForNull" value="NULL"/> 
</settings> 
<typeAliases> 
</typeAliases> 

<mappers> 
    <mapper resource="Mapper.xml" /> 
    <mapper resource=".." /> 

</mappers> 
</configuration> 

我Mapper.xml:

<select id="select__XR_SEGMENT_IDENTIFIER__By__SEGMENT_SEC_ID" parameterType="java.math.BigDecimal" resultType="java.util.HashMap"> 
    select 
     a1 , b2 , c3 
     , d4 , e5 
     , f6, g7 
    from 
     abc as left join xyz xy on as.a = xyz.a 
    where 
     as.a = #{value} 
     and as.FLAG_ACTIVE = 'Y' 
    </select> 

任何幫助表示讚賞。

感謝, Swanand

回答

3

看來3.2版本將有專門的設置。

看一看: http://code.google.com/p/mybatis/issues/detail?id=377

+0

感謝迭戈(Y),看起來那麼我需要升級到3.2 – swanand188

+1

對於有人有沒有耐心:你首先需要更新的MyBatis V3.2,然後把「<在'settings'節點下設置name =「callSettersOnNulls」value =「true」/>「到你的配置文件。 –