Author: cbegin
Date: Wed Jun 10 03:11:54 2009
New Revision: 783193
URL: http://svn.apache.org/viewvc?rev=783193&view=rev
Log:
fixed bug in selectKey ids
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/MapperConfig.xml
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/SelectKeyTest.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/Table1.xml
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/Table2.xml
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLStatementBuilder.java
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLStatementBuilder.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLStatementBuilder.java?rev=783193&r1=783192&r2=783193&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLStatementBuilder.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLStatementBuilder.java
Wed Jun 10 03:11:54 2009
@@ -133,8 +133,9 @@
fetchSize, timeout, parameterMap, parameterTypeClass, resultMap,
resultTypeClass,
resultSetTypeEnum, flushCache, useCache, keyGenerator,keyProperty);
- MappedStatement keyStatement =
configuration.getMappedStatement(builderAssistant.applyCurrentNamespace(id));
+ id = builderAssistant.applyCurrentNamespace(id);
+ MappedStatement keyStatement = configuration.getMappedStatement(id);
configuration.addKeyGenerator(id, new
SelectKeyGenerator(keyStatement,executeBefore));
}
}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/MapperConfig.xml
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/MapperConfig.xml?rev=783193&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/MapperConfig.xml
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/MapperConfig.xml
Wed Jun 10 03:11:54 2009
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE configuration
+ PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
+ "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
+<configuration>
+
+ <mappers>
+ <mapper resource="org/apache/ibatis/submitted/selectkey/Table1.xml" />
+ <mapper resource="org/apache/ibatis/submitted/selectkey/Table2.xml" />
+ </mappers>
+
+</configuration>
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/SelectKeyTest.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/SelectKeyTest.java?rev=783193&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/SelectKeyTest.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/SelectKeyTest.java
Wed Jun 10 03:11:54 2009
@@ -0,0 +1,22 @@
+package org.apache.ibatis.submitted.selectkey;
+
+import java.io.Reader;
+
+import junit.framework.TestCase;
+
+import org.apache.ibatis.io.Resources;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.apache.ibatis.session.SqlSessionFactoryBuilder;
+
+public class SelectKeyTest extends TestCase {
+
+ public void testSelectKey() throws Exception {
+ // this test checks to make sure that we can have select keys with the
same
+ // insert id in different namespaces
+ String resource =
"org/apache/ibatis/submitted/selectkey/MapperConfig.xml";
+ Reader reader = Resources.getResourceAsReader(resource);
+ SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
+ SqlSessionFactory sqlMapper = builder.build(reader);
+ assertNotNull(sqlMapper);
+ }
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/Table1.xml
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/Table1.xml?rev=783193&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/Table1.xml
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/Table1.xml
Wed Jun 10 03:11:54 2009
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
+<mapper namespace="org.apache.ibatis.submitted.selectkey.Table1">
+ <insert id="insert" parameterType="map" >
+ insert into table1 (name) values (#{name})
+ <selectKey resultType="java.lang.Integer" keyProperty="id" >
+ CALL IDENTITY()
+ </selectKey>
+ </insert>
+</mapper>
\ No newline at end of file
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/Table2.xml
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/Table2.xml?rev=783193&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/Table2.xml
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/submitted/selectkey/Table2.xml
Wed Jun 10 03:11:54 2009
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
+<mapper namespace="org.apache.ibatis.submitted.selectkey.Table2">
+ <insert id="insert" parameterType="map" >
+ insert into table2 (name) values (#{name})
+ <selectKey resultType="java.lang.Integer" keyProperty="id" >
+ CALL IDENTITY()
+ </selectKey>
+ </insert>
+</mapper>