Created
July 23, 2013 14:28
-
-
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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