ibatis的動態(tài)結(jié)果使用 java.util.HashMap,來映射,在昨天遇到一個情況,,,挺郁悶:
HashMap雖然可以映射,但返回值類型是不確定的,我調(diào)用一個存儲過程,返回字段為
@result,值為0或-1,開始還能通過map.get("@result")來正常獲到0或-1,后來就報錯了,
通過調(diào)試,發(fā)現(xiàn)map里key "@result" 對應(yīng)的value 是個字節(jié)數(shù)組byte[].
這種不確定性,肯定在其他類型里也存在,不知道有沒有什么好的解決方案。
補(bǔ)充:
后來 我用
<resultMap id="..." class="java.util.HashMap" >
<result property="@result" column="@result" jdbcType="NUMBER" />
...
</resultMap>
來定義返回類型也沒用
再后來
我把存儲過程改成用-1 replace @result
select -1,.... from tablename
resultmap:
<resultMap id="..." class="java.util.HashMap" >
<result property="@result" column="-1" />
...
</resultMap>
結(jié)果可以就可以了....
我在改成原來的
<resultMap id="..." class="java.util.HashMap" >
<result property="@result" column="@result" />
...
</resultMap>
又報錯.....
數(shù)據(jù)庫原因?ibatis bug? 受不了,還是那句話所謂的完美都是假象,code可以是最不嚴(yán)謹(jǐn)?shù)倪壿嬃?
HashMap雖然可以映射,但返回值類型是不確定的,我調(diào)用一個存儲過程,返回字段為
@result,值為0或-1,開始還能通過map.get("@result")來正常獲到0或-1,后來就報錯了,
通過調(diào)試,發(fā)現(xiàn)map里key "@result" 對應(yīng)的value 是個字節(jié)數(shù)組byte[].
這種不確定性,肯定在其他類型里也存在,不知道有沒有什么好的解決方案。
補(bǔ)充:
后來 我用
<resultMap id="..." class="java.util.HashMap" >
<result property="@result" column="@result" jdbcType="NUMBER" />
...
</resultMap>
來定義返回類型也沒用
再后來
我把存儲過程改成用-1 replace @result
select -1,.... from tablename
resultmap:
<resultMap id="..." class="java.util.HashMap" >
<result property="@result" column="-1" />
...
</resultMap>
結(jié)果可以就可以了....
我在改成原來的
<resultMap id="..." class="java.util.HashMap" >
<result property="@result" column="@result" />
...
</resultMap>
又報錯.....
數(shù)據(jù)庫原因?ibatis bug? 受不了,還是那句話所謂的完美都是假象,code可以是最不嚴(yán)謹(jǐn)?shù)倪壿嬃?