parent
7c07a55bad
commit
38472bcbb6
@ -0,0 +1,94 @@
|
|||||||
|
package xyz.wbsite.wsqlite;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Where {
|
||||||
|
private String sql;
|
||||||
|
private Object[] args;
|
||||||
|
|
||||||
|
private Where() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSql() {
|
||||||
|
return sql;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSql(String sql) {
|
||||||
|
this.sql = sql;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object[] getArgs() {
|
||||||
|
return args;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setArgs(Object[] args) {
|
||||||
|
this.args = args;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Where(String sql, Object[] args) {
|
||||||
|
this.sql = sql;
|
||||||
|
this.args = args;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Builder {
|
||||||
|
private StringBuilder sb = new StringBuilder();
|
||||||
|
private List<Object> argsList = new ArrayList<>();
|
||||||
|
|
||||||
|
public Builder eq(String name, Object value) {
|
||||||
|
return eq(true, name, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder like(String name, Object value) {
|
||||||
|
return like(true, name, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder isNull(String name, Object value) {
|
||||||
|
return isNull(true, name, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder isNotNull(String name, Object value) {
|
||||||
|
return isNotNull(true, name, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder eq(boolean condition, String name, Object value) {
|
||||||
|
if (condition) {
|
||||||
|
sb.append(sb.length() > 0 ? " and " : " where ").append(name).append(" = ? ");
|
||||||
|
argsList.add(value);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder like(boolean condition, String name, Object value) {
|
||||||
|
if (condition) {
|
||||||
|
sb.append(sb.length() > 0 ? " and " : " where ").append(name).append("like ?");
|
||||||
|
argsList.add(value);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder isNull(boolean condition, String name, Object value) {
|
||||||
|
if (condition) {
|
||||||
|
sb.append(sb.length() > 0 ? " and " : " where ").append(name).append("is null");
|
||||||
|
argsList.add(value);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder isNotNull(boolean condition, String name, Object value) {
|
||||||
|
if (condition) {
|
||||||
|
sb.append(sb.length() > 0 ? " and " : " where ").append(name).append("is not null");
|
||||||
|
argsList.add(value);
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Where build() {
|
||||||
|
return new Where(sb.toString(), argsList.toArray());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue