简体   繁体   English

MyBatis没有返回null值的列

[英]MyBatis is not returning column with null value

I am having query which return java.util.HashMap. 我有查询返回java.util.HashMap。 It return hashmap when query return with 1 or more row, however when query return with 0 rows, I am getting list of null ie [null]. 当查询返回1行或更多行时,它返回hashmap,但是当查询返回0行时,我得到null列表,即[null]。 This was not the case in IBatis. 在IBatis中并非如此。 In IBatis when 0 rows were return it returned with hashmap having list ie [Map(columnName1:null,columnName12:null) as return value. 在返回0行的IBatis中,它返回带有列表的hashmap,即[Map(columnName1:null,columnName12:null)作为返回值。

is there any configuration that I can do to get same result? 我可以做任何配置来获得相同的结果吗?

My Mybatis configuration xml 我的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>

My Mapper.xml : 我的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>

any help appreciated. 任何帮助赞赏。

Thanks , Swanand 谢谢,Swanand

Seems 3.2 version will have a setting for that. 似乎3.2版本将有一个设置。

Have a look at: http://code.google.com/p/mybatis/issues/detail?id=377 请查看: http//code.google.com/p/mybatis/issues/detail?id = 377

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM