我想使用动态语句检查我用作参数的 bean 是否为空。
<select id="my-query" resultClass="my.package.Results" parameterClass="my.package.Bean">
//MY QUERY
</select>
有一种方法可以直接在查询中检查我的 bean 是否为空,或者我必须检查属性是否可用、空等?
谢谢
是的,你可以这样做:
<select ...>
SELECT * FROM RESULT
<dynamic prepend="WHERE ">
<isNull property="id">
id IS NULL
</isNull>
<isNotNull property="id">
id = #id#
</isNotNull>
</dynamic>
</select>
欢呼和快乐的编码!
如果您提供的 bean 为空,则 Ibatis 在尝试对该 bean 调用 getId() 时抛出 NullpointerException。您必须确保 bean 在您的代码中事先不为空。