Skip to content

Instantly share code, notes, and snippets.

@plastiv
Created July 23, 2013 14:28
Show Gist options
  • Save plastiv/6062780 to your computer and use it in GitHub Desktop.
Save plastiv/6062780 to your computer and use it in GitHub Desktop.
Simple query builder to prevent mess in where statements. Base idea is: one operation for one line.
public class QueryBuilder {
private final StringBuilder sb;
public QueryBuilder() {
sb = new StringBuilder();
}
public QueryBuilder like(String columnName, String value) {
sb.append(columnName);
sb.append(" LIKE ");
sb.append('\'');
sb.append(value);
sb.append('\'');
return this;
}
public QueryBuilder eq(String columnName, String value) {
sb.append(columnName);
sb.append(" = ");
sb.append('\'');
sb.append(value);
sb.append('\'');
return this;
}
public QueryBuilder or() {
sb.append(" OR ");
return this;
}
public QueryBuilder and() {
sb.append(" AND ");
return this;
}
public QueryBuilder openBracket() {
sb.append('(');
return this;
}
public QueryBuilder closeBracket() {
sb.append(')');
return this;
}
public QueryBuilder append(String clause) {
sb.append(clause);
return this;
}
public String build() {
return sb.toString();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment