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/02/21 19:44:12 UTC
svn commit: r746560 - in /ibatis/trunk/java/ibatis-3: ./
ibatis-3-core/src/main/java/org/apache/ibatis/annotations/
ibatis-3-core/src/main/java/org/apache/ibatis/api/
ibatis-3-core/src/main/java/org/apache/ibatis/api/annotations/
ibatis-3-core/src/main...
Author: cbegin
Date: Sat Feb 21 18:44:10 2009
New Revision: 746560
URL: http://svn.apache.org/viewvc?rev=746560&view=rev
Log:
refactored annotations and api package
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/
- copied from r746441, ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/annotations/
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Annotations.java
- copied, changed from r746441, ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/annotations/Result.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperRegistry.java
- copied, changed from r746441, ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperFactory.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/exceptions/
- copied from r746441, ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/exceptions/
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/IbatisConfig.java
Removed:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Cache.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/CacheRefNamespace.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Collection.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Collections.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Delete.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Insert.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Param.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Property.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/QueryMethod.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Result.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/ResultClass.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Results.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Select.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Undefined.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Update.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/annotations/
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/exceptions/
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperFactory.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/domain/blog/mappers/AnnoMapper.java
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlSessionFactoryBuilder.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSession.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSessionFactory.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/exceptions/ExceptionFactory.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/exceptions/RuntimeSqlException.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Environment.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/api/SqlSessionTest.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java
ibatis/trunk/java/ibatis-3/version.properties
Copied: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Annotations.java (from r746441, ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/annotations/Result.java)
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Annotations.java?p2=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Annotations.java&p1=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/annotations/Result.java&r1=746441&r2=746560&rev=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/annotations/Result.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Annotations.java Sat Feb 21 18:44:10 2009
@@ -1,21 +1,100 @@
-package org.apache.ibatis.api.annotations;
+package org.apache.ibatis.annotations;
+import org.apache.ibatis.cache.decorators.LruCache;
+import org.apache.ibatis.cache.impl.PerpetualCache;
import org.apache.ibatis.type.JdbcType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import java.lang.annotation.ElementType;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-public @interface Result {
-
- String column() default "";
- String property() default "";
- String field() default "";
- JdbcType jdbcType() default JdbcType.UNDEFINED;
- Class typeHandler() default Undefined.class;
- QueryMethod nestedQuery() default @QueryMethod(type= Undefined.class, methodName="", parameters="");
+import java.lang.annotation.*;
+
+public class Annotations {
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public static @interface ConstructorArgs {
+ Arg[] value() default {};
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public static @interface Arg {
+ boolean id() default false;
+ String column() default "";
+ Class javaType() default Class.class;
+ JdbcType jdbcType() default JdbcType.UNDEFINED;
+ Class typeHandler() default Class.class;
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public static @interface Results {
+ Result[] value() default {};
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public static @interface Result {
+ boolean key() default false;
+ String column() default "";
+ String property() default "";
+ Class javaType() default Class.class;
+ JdbcType jdbcType() default JdbcType.UNDEFINED;
+ Class typeHandler() default Class.class;
+ String collectionSelect() default "";
+ Results collectionResults() default @Results;
+ String associationSelect() default "";
+ Results associationResults() default @Results;
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.TYPE)
+ public static @interface Cache {
+ Class<? extends org.apache.ibatis.cache.Cache> type() default PerpetualCache.class;
+ Class<? extends org.apache.ibatis.cache.Cache> eviction() default LruCache.class;
+ int flushInterval() default 3600000;
+ int size() default 1000;
+ boolean readOnly() default false;
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.TYPE)
+ public @interface CacheRefNamespace {
+ String[] value();
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Insert {
+ String[] value();
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Update {
+ String[] value();
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Delete {
+ String[] value();
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Select {
+ String[] value();
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Procedure {
+ String[] value();
+ }
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Statement {
+ String[] value();
+ }
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlSessionFactoryBuilder.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlSessionFactoryBuilder.java?rev=746560&r1=746559&r2=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlSessionFactoryBuilder.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlSessionFactoryBuilder.java Sat Feb 21 18:44:10 2009
@@ -1,7 +1,7 @@
package org.apache.ibatis.api;
import org.apache.ibatis.api.defaults.DefaultSqlSessionFactory;
-import org.apache.ibatis.api.exceptions.ExceptionFactory;
+import org.apache.ibatis.exceptions.ExceptionFactory;
import org.apache.ibatis.mapping.Configuration;
import org.apache.ibatis.parser.MapperConfigParser;
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSession.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSession.java?rev=746560&r1=746559&r2=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSession.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSession.java Sat Feb 21 18:44:10 2009
@@ -2,12 +2,11 @@
import org.apache.ibatis.api.ApiException;
import org.apache.ibatis.api.SqlSession;
-import org.apache.ibatis.api.exceptions.ExceptionFactory;
+import org.apache.ibatis.exceptions.ExceptionFactory;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.executor.result.ResultHandler;
import org.apache.ibatis.mapping.Configuration;
import org.apache.ibatis.mapping.MappedStatement;
-import org.apache.ibatis.binding.MapperFactory;
import java.util.List;
@@ -143,7 +142,7 @@
}
public <T> T getMapper(Class<T> type) {
- return configuration.getMapperFactory().getMapper(type, this);
+ return configuration.getMapper(type, this);
}
private boolean isCommitOrRollbackRequired(boolean force) {
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSessionFactory.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSessionFactory.java?rev=746560&r1=746559&r2=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSessionFactory.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSessionFactory.java Sat Feb 21 18:44:10 2009
@@ -2,7 +2,7 @@
import org.apache.ibatis.api.SqlSession;
import org.apache.ibatis.api.SqlSessionFactory;
-import org.apache.ibatis.api.exceptions.ExceptionFactory;
+import org.apache.ibatis.exceptions.ExceptionFactory;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory;
Copied: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperRegistry.java (from r746441, ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperFactory.java)
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperRegistry.java?p2=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperRegistry.java&p1=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperFactory.java&r1=746441&r2=746560&rev=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperFactory.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperRegistry.java Sat Feb 21 18:44:10 2009
@@ -1,10 +1,23 @@
package org.apache.ibatis.binding;
import org.apache.ibatis.api.SqlSession;
+import static org.apache.ibatis.annotations.Annotations.*;
+import org.apache.ibatis.mapping.*;
-public class MapperFactory {
+import java.util.*;
+import java.lang.reflect.Method;
+
+public class MapperRegistry {
+
+ private Configuration config;
+ private Set<Class> knownMappers = new HashSet<Class>();
+
+ public MapperRegistry(Configuration config) {
+ this.config = config;
+ }
public <T> T getMapper(Class<T> type, SqlSession sqlSession) {
+ if (!knownMappers.contains(type)) throw new BindingException("Type " + type + " is not known to the MapperRegistry.");
try {
return MapperProxy.newMapperProxy(type, sqlSession);
} catch (Exception e) {
@@ -12,4 +25,14 @@
}
}
+ public void addMapper(Class type) {
+ if (!type.isInterface()) throw new BindingException("Only interfaces can be configured by the MapperFactory. Type " + type + " is not an interface.");
+ if (knownMappers.contains(type)) throw new BindingException("Type " + type + " is already known to the MapperRegistry.");
+ knownMappers.add(type);
+ parseAnnotations(type);
+ }
+
+ public void parseAnnotations(Class type) {
+ }
+
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/exceptions/ExceptionFactory.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/exceptions/ExceptionFactory.java?rev=746560&r1=746441&r2=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/exceptions/ExceptionFactory.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/exceptions/ExceptionFactory.java Sat Feb 21 18:44:10 2009
@@ -1,4 +1,4 @@
-package org.apache.ibatis.api.exceptions;
+package org.apache.ibatis.exceptions;
import org.apache.ibatis.executor.ErrorContext;
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/exceptions/RuntimeSqlException.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/exceptions/RuntimeSqlException.java?rev=746560&r1=746441&r2=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/exceptions/RuntimeSqlException.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/exceptions/RuntimeSqlException.java Sat Feb 21 18:44:10 2009
@@ -1,4 +1,4 @@
-package org.apache.ibatis.api.exceptions;
+package org.apache.ibatis.exceptions;
public class RuntimeSqlException extends RuntimeException {
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java?rev=746560&r1=746559&r2=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java Sat Feb 21 18:44:10 2009
@@ -26,7 +26,8 @@
import org.apache.ibatis.transaction.managed.ManagedTransactionFactory;
import org.apache.ibatis.type.TypeAliasRegistry;
import org.apache.ibatis.type.TypeHandlerRegistry;
-import org.apache.ibatis.binding.MapperFactory;
+import org.apache.ibatis.binding.MapperRegistry;
+import org.apache.ibatis.api.SqlSession;
import java.util.Collection;
import java.util.HashMap;
@@ -48,7 +49,7 @@
private Properties variables = new Properties();
private ObjectFactory objectFactory = new DefaultObjectFactory();
- private MapperFactory mapperFactory = new MapperFactory();
+ private MapperRegistry mapperRegistry = new MapperRegistry(this);
private final InterceptorChain interceptorChain = new InterceptorChain();
private final TypeHandlerRegistry typeHandlerRegistry = new TypeHandlerRegistry();
@@ -58,6 +59,11 @@
private final Map<String, ResultMap> resultMaps = new StrictMap<String, ResultMap>("Result Maps collection");
private final Map<String, ParameterMap> parameterMaps = new StrictMap<String, ParameterMap>("Parameter Maps collection");
+ public Configuration(Environment environment) {
+ this();
+ this.environment = environment;
+ }
+
public Configuration() {
typeAliasRegistry.registerAlias("JDBC", JdbcTransactionFactory.class.getName());
typeAliasRegistry.registerAlias("MANAGED", ManagedTransactionFactory.class.getName());
@@ -276,8 +282,12 @@
interceptorChain.addInterceptor(interceptor);
}
- public MapperFactory getMapperFactory() {
- return mapperFactory;
+ public <T> void addMapper(Class<T> type) {
+ mapperRegistry.addMapper(type);
+ }
+
+ public <T> T getMapper(Class<T> type, SqlSession sqlSession) {
+ return mapperRegistry.getMapper(type,sqlSession);
}
private static class StrictMap<J, K> extends HashMap<J, K> {
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Environment.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Environment.java?rev=746560&r1=746559&r2=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Environment.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Environment.java Sat Feb 21 18:44:10 2009
@@ -9,6 +9,12 @@
private TransactionFactory transactionFactory;
private DataSource dataSource;
+ public Environment(String id, TransactionFactory transactionFactory, DataSource dataSource) {
+ this.id = id;
+ this.transactionFactory = transactionFactory;
+ this.dataSource = dataSource;
+ }
+
private Environment() {
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/api/SqlSessionTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/api/SqlSessionTest.java?rev=746560&r1=746559&r2=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/api/SqlSessionTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/api/SqlSessionTest.java Sat Feb 21 18:44:10 2009
@@ -24,6 +24,8 @@
final String resource = "org/apache/ibatis/parser/MapperConfig.xml";
final Reader reader = Resources.getResourceAsReader(resource);
sqlMapper = new SqlSessionFactoryBuilder().build(reader);
+ sqlMapper.getConfiguration().addMapper(AuthorMapper.class);
+ sqlMapper.getConfiguration().addMapper(BlogMapper.class);
}
@Test
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java?rev=746560&r1=746559&r2=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java Sat Feb 21 18:44:10 2009
@@ -1,28 +1,20 @@
package org.apache.ibatis.binding;
-import org.apache.ibatis.BaseDataTest;
-import org.apache.ibatis.io.Resources;
import org.apache.ibatis.api.SqlSessionFactory;
-import org.apache.ibatis.api.SqlSessionFactoryBuilder;
import org.junit.BeforeClass;
import org.junit.Test;
-import java.io.Reader;
-
-public class BindingTest extends BaseDataTest {
- private static SqlSessionFactory sqlMapper;
+public class BindingTest {
+ private static SqlSessionFactory sqlSessionFactory;
@BeforeClass
public static void setup() throws Exception {
- createBlogDataSource();
- final String resource = "org/apache/ibatis/parser/MapperConfig.xml";
- final Reader reader = Resources.getResourceAsReader(resource);
- sqlMapper = new SqlSessionFactoryBuilder().build(reader);
+ sqlSessionFactory = new IbatisConfig().getSqlSessionFactory();
}
@Test
public void foo() {
-
+
}
Added: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java?rev=746560&view=auto
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java (added)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java Sat Feb 21 18:44:10 2009
@@ -0,0 +1,29 @@
+package org.apache.ibatis.binding;
+
+import domain.blog.Blog;
+import static org.apache.ibatis.annotations.Annotations.*;
+
+@Cache
+public interface BoundBlogMapper {
+
+ @ConstructorArgs({
+ @Arg(id = true, column = ""),
+ @Arg(column = ""),
+ @Arg(column = "")
+ })
+ @Results({
+ @Result(column = "A",property = ""),
+ @Result(column = "B",property = "", collectionSelect = "com.domain.Class.method"),
+ @Result(column = "C",property = "", collectionResults = @Results({
+ @Result(column = "X",property = ""),
+ @Result(column = "Y",property = "")
+ }))
+ })
+ @Select({
+ "SELECT *",
+ "FROM BLOG",
+ "where id = ${id}"
+ })
+ Blog selectBlog(int id);
+
+}
Added: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/IbatisConfig.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/IbatisConfig.java?rev=746560&view=auto
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/IbatisConfig.java (added)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/IbatisConfig.java Sat Feb 21 18:44:10 2009
@@ -0,0 +1,27 @@
+package org.apache.ibatis.binding;
+
+import org.apache.ibatis.api.SqlSessionFactory;
+import org.apache.ibatis.api.defaults.DefaultSqlSessionFactory;
+import org.apache.ibatis.mapping.*;
+import org.apache.ibatis.transaction.TransactionFactory;
+import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
+import org.apache.ibatis.BaseDataTest;
+
+import javax.sql.DataSource;
+
+public class IbatisConfig {
+
+ public static SqlSessionFactory getSqlSessionFactory() {
+ try {
+ DataSource dataSource = BaseDataTest.createBlogDataSource();
+ TransactionFactory transactionFactory = new JdbcTransactionFactory();
+ Environment environment = new Environment("Production", transactionFactory, dataSource);
+ Configuration configuration = new Configuration(environment);
+ configuration.addMapper(BoundBlogMapper.class);
+ return new DefaultSqlSessionFactory(configuration);
+ } catch (Exception e) {
+ throw new RuntimeException("Error initializing SqlSessionFactory. Cause: " + e, e);
+ }
+ }
+
+}
Modified: ibatis/trunk/java/ibatis-3/version.properties
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/version.properties?rev=746560&r1=746559&r2=746560&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/version.properties (original)
+++ ibatis/trunk/java/ibatis-3/version.properties Sat Feb 21 18:44:10 2009
@@ -1,5 +1,5 @@
#Build version info
-#Fri Feb 20 21:23:36 MST 2009
+#Fri Feb 20 23:51:43 MST 2009
version=3.0.0
-buildDate=2009/02/20 21\:23
-buildNum=125
+buildDate=2009/02/20 23\:51
+buildNum=127