Skip to content

Commit e384845

Browse files
authored
Merge pull request #734 from kazuki43zoo/allow-variable-length-argument-on-SQL
Allow variable length argument on SQL's methods. related with #726
2 parents 7164f15 + cec51e2 commit e384845

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

src/main/java/org/apache/ibatis/jdbc/AbstractSQL.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,22 @@ public T VALUES(String columns, String values) {
6666
return getSelf();
6767
}
6868

69+
/**
70+
* @since 3.4.2
71+
*/
72+
public T INTO_COLUMNS(String... columns) {
73+
sql().columns.addAll(Arrays.asList(columns));
74+
return getSelf();
75+
}
76+
77+
/**
78+
* @since 3.4.2
79+
*/
80+
public T INTO_VALUES(String... values) {
81+
sql().values.addAll(Arrays.asList(values));
82+
return getSelf();
83+
}
84+
6985
public T SELECT(String columns) {
7086
sql().statementType = SQLStatement.StatementType.SELECT;
7187
sql().select.add(columns);

src/test/java/org/apache/ibatis/jdbc/SQLTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,4 +303,15 @@ public void variableLengthArgumentOnSet() {
303303
"SET a = #{a}, b = #{b}", sql);
304304
}
305305

306+
@Test
307+
public void variableLengthArgumentOnIntoColumnsAndValues() {
308+
final String sql = new SQL() {{
309+
INSERT_INTO("TABLE_A").INTO_COLUMNS("a","b").INTO_VALUES("#{a}","#{b}");
310+
}}.toString();
311+
312+
System.out.println(sql);
313+
314+
assertEquals("INSERT INTO TABLE_A\n (a, b)\nVALUES (#{a}, #{b})", sql);
315+
}
316+
306317
}

0 commit comments

Comments
 (0)