我很想知道有没有更好的方法来准备查询字符串而不检查Java Bean中的空值。
我在java bean下面有属性
public class Employee{
private String name;
private String address;
//setters and getters i am not mention here
}
假设将name作为值并且地址没有值意味着null。我想准备如下的查询字符串:
update table test where name='value from property' where xxx=?
此致
琳
答案 0 :(得分: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();
答案 1 :(得分:0)
有一种动态触发查询的方法。您可以先检查空值,然后根据该值选择要在db上触发的查询。