ibatis isNotEmpty 具有多个变量

发布于 2024-09-02 20:30:48 字数 583 浏览 4 评论 0原文

假设我有一个名为 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 可以做到这一点吗?如果是这样,怎么办?

Suppose I have a massive table called inactiveUsers and a search form. I want to conditionally join the inactiveUsers table if any user related characteristic is chosen (address, name, phoneNumber, etc...). Is there any way to do this without the following:

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

and so on for another 10-20 isNotEmpty clauses. I would like to do something like:

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

Is this possible with ibatis? If so, how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

披肩女神 2024-09-09 20:30:48

我会创建一个布尔属性 useJoin

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

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

I would create a boolean property useJoin

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

not perfect but seems better than multiple statements in IBATIS clause.

冰雪梦之恋 2024-09-09 20:30:48

我相信这对于 iBatis2 来说是不可能的。 iBatis3 有一个 标签,但语法仍然不是很简单。

我宁愿在对象中编写一个伪属性(如果你可以触摸它)来询问这个条件,那会简单得多。

I believe that's not possible (simply) with iBatis2 . iBatis3 has a <if> tag, but nevertheless the syntax would not be very simple.

I'd rather code a pseudoproperty in the object (if you can touch it) to ask for this condition, that would be much simpler.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文