diff --git a/library/src/main/java/com/orm/query/Select.java b/library/src/main/java/com/orm/query/Select.java index e13410fe..8e536170 100644 --- a/library/src/main/java/com/orm/query/Select.java +++ b/library/src/main/java/com/orm/query/Select.java @@ -12,10 +12,10 @@ public class Select implements Iterable { private Class record; private String[] arguments; private String whereClause = ""; - private String orderBy; - private String groupBy; - private String limit; - private String offset; + private String orderBy = ""; + private String groupBy = ""; + private String limit = ""; + private String offset = ""; private List args = new ArrayList(); private static final String SPACE =" "; private static final String SINGLE_QUOTE ="'"; @@ -50,6 +50,11 @@ public Select limit(String limit) { return this; } + public Select offset(String offset) { + this.offset = offset; + return this; + } + public Select where(String whereClause) { this.whereClause = whereClause; return this; diff --git a/library/src/test/java/com/orm/query/SelectTest.java b/library/src/test/java/com/orm/query/SelectTest.java index 3ab345ae..372f0a5d 100644 --- a/library/src/test/java/com/orm/query/SelectTest.java +++ b/library/src/test/java/com/orm/query/SelectTest.java @@ -35,6 +35,34 @@ public void testWhere(){ assertEquals("2", where.getArgs()[1]); } + @Test + public void toSqlAllClauses(){ + String toSql = Select.from(TestRecord.class) + .where("test") + .groupBy("test") + .orderBy("test") + .limit("test") + .offset("test") + .toSql(); + assertEquals("SELECT * FROM TEST_RECORD WHERE test ORDER BY test GROUP BY test LIMIT test OFFSET test ", toSql); + } + + @Test + public void toSqlNoClauses(){ + String toSql = Select.from(TestRecord.class) + .toSql(); + assertEquals("SELECT * FROM TEST_RECORD ", toSql); + } + + @Test + public void toSqlWhereLimitClauses(){ + String toSql = Select.from(TestRecord.class) + .where("test") + .limit("test") + .toSql(); + assertEquals("SELECT * FROM TEST_RECORD WHERE test LIMIT test ", toSql); + } + @Test public void testWhereOr(){ @@ -101,4 +129,4 @@ public void testIsNotNull() { assertEquals("(test IS NOT NULL )", where.getWhereCond()); assertEquals(0, where.getArgs().length); } -} +} \ No newline at end of file