Skip to content

Commit 9d20c2e

Browse files
committed
Update QueryBuilder.
1 parent 3af468e commit 9d20c2e

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

kilo-client/src/main/java/org/httprpc/kilo/sql/QueryBuilder.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1012,6 +1012,19 @@ public QueryBuilder filterByIndexLessThanOrEqualTo(String key) {
10121012
return filterByIndex("<=", key);
10131013
}
10141014

1015+
/**
1016+
* Appends one or more "equal to" filters.
1017+
*
1018+
* @param keys
1019+
* The keys of the argument values.
1020+
*
1021+
* @return
1022+
* The {@link QueryBuilder} instance.
1023+
*/
1024+
public QueryBuilder filterByIndexEqualTo(String... keys) {
1025+
return filterByIndex("=", keys);
1026+
}
1027+
10151028
/**
10161029
* Appends one or more "like" filters.
10171030
*

kilo-client/src/test/java/org/httprpc/kilo/sql/QueryBuilderTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,14 @@ public void testLessThanOrEqualTo() {
441441
assertEquals(listOf("t"), getParameters(queryBuilder));
442442
}
443443

444+
@Test
445+
public void testEqualTo() {
446+
var queryBuilder = QueryBuilder.select(I.class).filterByIndexEqualTo("t", "u");
447+
448+
assertEquals("select I.h, I.i, I.t, I.u from I where I.t = ? and I.u = ?", queryBuilder.toString());
449+
assertEquals(listOf("t", "u"), getParameters(queryBuilder));
450+
}
451+
444452
@Test
445453
public void testLike() {
446454
var queryBuilder = QueryBuilder.select(I.class).filterByIndexLike("t", "u");

0 commit comments

Comments
 (0)