Mybatis 选择值可能为空或不为空的位置
MyBatis 3.4.6 我想根据Java对象中字符串字段的值查找记录。Java字段和数据库都可以为空,当它们为空时,我想选择记录。下面的XML似乎有效:Mybatis 选择值可能为空或不为空的位置,mybatis,Mybatis,MyBatis 3.4.6 我想根据Java对象中字符串字段的值查找记录。Java字段和数据库都可以为空,当它们为空时,我想选择记录。下面的XML似乎有效: <select id='selectFoo' parameterType='foo' resultType='int'> SELECT id FROM foo WHERE (bar = #{bar} OR (bar IS NULL AND #{bar,jdbcType=VARCHAR} IS
<select id='selectFoo' parameterType='foo' resultType='int'>
SELECT id FROM foo WHERE
(bar = #{bar} OR (bar IS NULL AND #{bar,jdbcType=VARCHAR} IS NULL)
我不知道这是不是正确的处理方法?仅仅使用'bar={bar}'并不能处理两者都为null的情况,我希望SELECT返回一条记录,但事实并非如此
从我对MyBatis之外的JDBC的有限知识来看,同样的东西在那里是必要的,所以我怀疑是否有更好的方法,但我想检查一下,因为我不太理解这些东西,而且它看起来很笨重。这没有错,但是对于MyBatis,我们通常写 哪里 bar={bar} 条为空 或 哪里 bar={bar} 条为空 有关更多实际示例,请参见。可能重复的