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 2010/01/20 04:56:11 UTC
svn commit: r901050 - in /ibatis/java/ibatis-3/trunk:
ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/
ibatis-3-compat/src/test/java/com/ibatis/sqlmap/
ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/
ibatis-3-core/src/main/jav...
Author: cbegin
Date: Wed Jan 20 03:56:10 2010
New Revision: 901050
URL: http://svn.apache.org/viewvc?rev=901050&view=rev
Log:
Added configuration property for autoMappingBehavior
Added:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/AutoMappingBehavior.java
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/Ibatis2Configuration.java
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/test/java/com/ibatis/sqlmap/MultiResultSetTest.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/FastResultSetHandler.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NestedResultSetHandler.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/Configuration.java
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/Ibatis2Configuration.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/Ibatis2Configuration.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/Ibatis2Configuration.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/Ibatis2Configuration.java Wed Jan 20 03:56:10 2010
@@ -11,6 +11,7 @@
import org.apache.ibatis.cache.decorators.LruCache;
import org.apache.ibatis.cache.decorators.SoftCache;
import org.apache.ibatis.session.Configuration;
+import org.apache.ibatis.session.AutoMappingBehavior;
import javax.sql.DataSource;
import java.util.HashMap;
@@ -28,6 +29,7 @@
private Map<String, Boolean> postSelectKeyMap;
public Ibatis2Configuration() {
+ setAutoMappingBehavior(AutoMappingBehavior.FULL);
setUseGeneratedKeys(false);
this.flushCachePlugin = new FlushCacheInterceptor();
this.addInterceptor(flushCachePlugin);
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/test/java/com/ibatis/sqlmap/MultiResultSetTest.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/test/java/com/ibatis/sqlmap/MultiResultSetTest.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/test/java/com/ibatis/sqlmap/MultiResultSetTest.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/test/java/com/ibatis/sqlmap/MultiResultSetTest.java Wed Jan 20 03:56:10 2010
@@ -17,7 +17,6 @@
initSqlMap("com/ibatis/sqlmap/maps/DerbySqlMapConfig.xml", Resources.getResourceAsProperties("com/ibatis/sqlmap/maps/DerbySqlMapConfig.properties"));
initScript("scripts/account-init.sql");
initScript("scripts/derby-proc-init.sql");
-
}
public void testShouldRetrieveTwoSetsOfTwoAccountsFromMultipleResultMaps() throws Exception {
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java Wed Jan 20 03:56:10 2010
@@ -14,6 +14,7 @@
import org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.ExecutorType;
+import org.apache.ibatis.session.AutoMappingBehavior;
import org.apache.ibatis.transaction.TransactionFactory;
import org.apache.ibatis.type.TypeHandler;
@@ -153,6 +154,7 @@
throw new BuilderException("The setting " + entry.getKey() + " is not known. Make sure you spelled it correctly (case sensitive).");
}
}
+ configuration.setAutoMappingBehavior(AutoMappingBehavior.valueOf(stringValueOf(props.getProperty("autoMappingBehavior"), "PARTIAL")));
configuration.setCacheEnabled(booleanValueOf(props.getProperty("cacheEnabled"), true));
configuration.setLazyLoadingEnabled(booleanValueOf(props.getProperty("lazyLoadingEnabled"), false));
configuration.setMultipleResultSetsEnabled(booleanValueOf(props.getProperty("multipleResultSetsEnabled"), true));
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/FastResultSetHandler.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/FastResultSetHandler.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/FastResultSetHandler.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/FastResultSetHandler.java Wed Jan 20 03:56:10 2010
@@ -15,6 +15,7 @@
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.session.AutoMappingBehavior;
import org.apache.ibatis.type.TypeHandler;
import org.apache.ibatis.type.TypeHandlerRegistry;
@@ -174,7 +175,9 @@
final MetaObject metaObject = configuration.newMetaObject(resultObject);
loadMappedAndUnmappedColumnNames(rs, resultMap, mappedColumnNames, unmappedColumnNames);
boolean foundValues = resultMap.getConstructorResultMappings().size() > 0;
- foundValues = applyAutomaticMappings(rs, unmappedColumnNames, metaObject) || foundValues;
+ if (!AutoMappingBehavior.NONE.equals(configuration.getAutoMappingBehavior())) {
+ foundValues = applyAutomaticMappings(rs, unmappedColumnNames, metaObject) || foundValues;
+ }
foundValues = applyPropertyMappings(rs, resultMap, mappedColumnNames, metaObject, lazyLoader) || foundValues;
resultObject = foundValues ? resultObject : null;
return resultObject;
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NestedResultSetHandler.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NestedResultSetHandler.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NestedResultSetHandler.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NestedResultSetHandler.java Wed Jan 20 03:56:10 2010
@@ -14,6 +14,7 @@
import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.session.AutoMappingBehavior;
import org.apache.ibatis.type.TypeHandler;
import java.sql.ResultSet;
@@ -99,7 +100,9 @@
final MetaObject metaObject = configuration.newMetaObject(resultObject);
loadMappedAndUnmappedColumnNames(rs, resultMap, mappedColumnNames, unmappedColumnNames);
boolean foundValues = resultMap.getConstructorResultMappings().size() > 0;
- foundValues = applyAutomaticMappings(rs, unmappedColumnNames, metaObject) || foundValues;
+ if (AutoMappingBehavior.FULL.equals(configuration.getAutoMappingBehavior())) {
+ foundValues = applyAutomaticMappings(rs, unmappedColumnNames, metaObject) || foundValues;
+ }
foundValues = applyPropertyMappings(rs, resultMap, mappedColumnNames, metaObject, lazyLoader) || foundValues;
foundValues = applyNestedResultMappings(rs, resultMap, metaObject) || foundValues;
resultObject = foundValues ? resultObject : null;
Added: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/AutoMappingBehavior.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/AutoMappingBehavior.java?rev=901050&view=auto
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/AutoMappingBehavior.java (added)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/AutoMappingBehavior.java Wed Jan 20 03:56:10 2010
@@ -0,0 +1,5 @@
+package org.apache.ibatis.session;
+
+public enum AutoMappingBehavior {
+ NONE,PARTIAL,FULL
+}
Modified: ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/Configuration.java
URL: http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/Configuration.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
--- ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/Configuration.java (original)
+++ ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/Configuration.java Wed Jan 20 03:56:10 2010
@@ -46,6 +46,7 @@
private boolean cacheEnabled = true;
private Integer defaultStatementTimeout;
private ExecutorType defaultExecutorType = ExecutorType.SIMPLE;
+ private AutoMappingBehavior autoMappingBehavior = AutoMappingBehavior.PARTIAL;
private Properties variables = new Properties();
private ObjectFactory objectFactory = new DefaultObjectFactory();
@@ -98,6 +99,14 @@
this.environment = environment;
}
+ public AutoMappingBehavior getAutoMappingBehavior() {
+ return autoMappingBehavior;
+ }
+
+ public void setAutoMappingBehavior(AutoMappingBehavior autoMappingBehavior) {
+ this.autoMappingBehavior = autoMappingBehavior;
+ }
+
public boolean isLazyLoadingEnabled() {
return lazyLoadingEnabled;
}