Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mybatis 选择值可能为空或不为空的位置_Mybatis - Fatal编程技术网

Mybatis 选择值可能为空或不为空的位置

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

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 NULL)
我不知道这是不是正确的处理方法?仅仅使用'bar={bar}'并不能处理两者都为null的情况,我希望SELECT返回一条记录,但事实并非如此


从我对MyBatis之外的JDBC的有限知识来看,同样的东西在那里是必要的,所以我怀疑是否有更好的方法,但我想检查一下,因为我不太理解这些东西,而且它看起来很笨重。

这没有错,但是对于MyBatis,我们通常写

哪里 bar={bar} 条为空 或

哪里 bar={bar} 条为空 有关更多实际示例,请参见。

可能重复的