You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2009/04/11 07:01:31 UTC
svn commit: r764164 - in /ibatis/trunk/java/ibatis-3/ibatis-3-core/src:
main/java/org/apache/ibatis/parser/xml/dynamic/ForEachSqlNode.java
test/java/org/apache/ibatis/parser/xml/dynamic/DynamicSqlSourceTest.java
Author: cbegin
Date: Sat Apr 11 05:01:31 2009
New Revision: 764164
URL: http://svn.apache.org/viewvc?rev=764164&view=rev
Log:
added unit test for ForEach
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/dynamic/ForEachSqlNode.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/parser/xml/dynamic/DynamicSqlSourceTest.java
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/dynamic/ForEachSqlNode.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/dynamic/ForEachSqlNode.java?rev=764164&r1=764163&r2=764164&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/dynamic/ForEachSqlNode.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/dynamic/ForEachSqlNode.java Sat Apr 11 05:01:31 2009
@@ -6,6 +6,7 @@
private MixedSqlNode contents;
public ForEachSqlNode(String collectionExpression, MixedSqlNode contents) {
+ this.evaluator = new ExpressionEvaluator();
this.collectionExpression = collectionExpression;
this.contents = contents;
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/parser/xml/dynamic/DynamicSqlSourceTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/parser/xml/dynamic/DynamicSqlSourceTest.java?rev=764164&r1=764163&r2=764164&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/parser/xml/dynamic/DynamicSqlSourceTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/parser/xml/dynamic/DynamicSqlSourceTest.java Sat Apr 11 05:01:31 2009
@@ -100,6 +100,19 @@
assertEquals(expected, boundSql.getSql());
}
+ @Test
+ public void shouldIterateOnceForEachItemInCollection() throws Exception {
+ final HashMap<String,String[]> parameterObject = new HashMap() {{
+ put("array", new String[]{"1", "2", "3"});
+ }};
+ final String expected = "SELECT * FROM BLOG WHERE ID in ? ? ?";
+ DynamicSqlSource source = createDynamicSqlSource(
+ new TextSqlNode("SELECT * FROM BLOG WHERE ID in"),
+ new ForEachSqlNode("array",mixedContents(new TextSqlNode("?"))));
+ BoundSql boundSql = source.getBoundSql(parameterObject);
+ assertEquals(expected, boundSql.getSql());
+ }
+
private DynamicSqlSource createDynamicSqlSource(SqlNode... contents) throws IOException, SQLException {
createBlogDataSource();