0

我很想知道是否有更好的方法来准备查询字符串而不检查 Java Bean 中的空值。

我有以下带有属性的java bean

    public class Employee{

    private String name;

    private String address;

    //setters and getters i am not mention here

    }

假设以名称为值,地址没有值意味着 null。我想准备如下查询字符串:

    update table test where name='value from property' where xxx=?

问候,

查克里

4

2 回答 2

1

使用构建器模式来构造 SQL。没有魔法:你必须编写每个构建器类来构造插入、更新、选择等。然而,最后你有一个很好的逻辑封装。这是你如何使用它,

String sql = new EmployeeUpdateBuilder()
    .whereName("Jeff")
    .valueAddress("123 Main Street")
    .build();

实现的代码很简单,实际上有点忙,但结果很好。如果你要为不同的对象类型编写一堆这些,你可以为每个不同的 SQL 命令类型(插入、选择等)在基类中考虑很多因素。

另一种选择是概括构建器。你最终会得到这样的用法,

String sql = new UpdateBuilder()
    .table("employees")
    .where("name", "Jeff")
    .value("address", "123 Main Street")
    .build();
于 2013-08-30T18:16:03.940 回答
0

有一种方法可以动态触发查询。您可以先检查空值,然后根据该值选择要在 db 上触发的查询。

于 2013-08-30T18:07:21.780 回答