我想检查我用作参数的bean是否使用动态语句为空。
<select id="my-query" resultClass="my.package.Results" parameterClass="my.package.Bean">
//MY QUERY
</select>
有一种方法可以检查我的bean是否在查询中直接为null,或者我必须检查属性是否可用,null等?
谢谢
答案 0 :(得分:1)
是的,你可以像下面这样做:
<select ...>
SELECT * FROM RESULT
<dynamic prepend="WHERE ">
<isNull property="id">
id IS NULL
</isNull>
<isNotNull property="id">
id = #id#
</isNotNull>
</dynamic>
</select>
欢呼和快乐的编码!
答案 1 :(得分:0)
如果你提供一个null的bean,那么当试图在那个bean上调用getId()时,Ibatis会抛出一个NullpointerException。您必须确保代码中的bean先前不为null。
在Sazzadurs中,回答Where-Clause实际上不是动态的。 只需输入:
<select ...>
SELECT * FROM RESULT
WHERE ID
<dynamic>
<isNull property="id">
IS NULL
</isNull>
<isNotNull property="id">
= #id#
</isNotNull>
</dynamic>
</select>