ibatis isNotEmpty有多个变量

时间:2010-05-21 16:25:34

标签: java sql ibatis

假设我有一个名为inactiveUsers的大型表和一个搜索表单。如果选择了任何与用户相关的特性(地址,名称,电话号码等),我想有条件地加入inactiveUsers表。如果没有以下内容,有没有办法做到这一点:

<isNotEmpty property="address">JOIN inactiveUsers</isNotEmpty>
<isNotEmpty property="phoneNumber">JOIN inactiveUsers</isNotEmpty>
<isNotEmpty property="name">JOIN inactiveUsers</isNotEmpty>

等等另外10-20个isNotEmpty子句。我想做点什么:

<isAnyNotEmpty properties="address, phoneNumber, name, ....">JOIN inactiveUsers</isNotEmpty>

这可能与ibatis有关吗?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:1)

我会创建一个布尔属性useJoin

public boolean isUseJoin() {
        if(!adress.equals("") && !phoneNumber.equals("")&&!name.equals("")) {
            return true;
        } else {
            return false;
        }
    }

不完美,但似乎比IBATIS子句中的多个陈述更好。

答案 1 :(得分:0)

我认为(简单地)使用iBatis2是不可能的。 iBatis3有一个<if>标签,但是语法不是很简单。

我宁愿在对象中编写一个伪代码(如果你可以触摸它)来要求这个条件,这会更简单。