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/03/28 22:34:20 UTC

svn commit: r759597 - in /ibatis/trunk/java/ibatis-3: ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/ ibatis-3-core/src/main/java/org/apache/ibatis/mapping/ ibatis-3-core/src/main/java/org/apache/ibatis/parser/ ibatis-3-core/src/test/ja...

Author: cbegin
Date: Sat Mar 28 21:34:19 2009
New Revision: 759597

URL: http://svn.apache.org/viewvc?rev=759597&view=rev
Log:
refactored sql source

Added:
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/BoundSql.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/DynamicSqlSource.java
Removed:
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/BasicSqlSource.java
Modified:
    ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/DynamicSqlSource.java
    ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/SimpleSqlSource.java
    ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/XmlSqlStatementParser.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/MappedStatement.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/SqlSource.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/StaticSqlSource.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/ExecutorTestHelper.java

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/DynamicSqlSource.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/DynamicSqlSource.java?rev=759597&r1=759596&r2=759597&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/DynamicSqlSource.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/DynamicSqlSource.java Sat Mar 28 21:34:19 2009
@@ -6,6 +6,7 @@
 import org.apache.ibatis.mapping.Configuration;
 import org.apache.ibatis.mapping.ParameterMapping;
 import org.apache.ibatis.mapping.SqlSource;
+import org.apache.ibatis.mapping.BoundSql;
 import org.apache.ibatis.xml.NodeletContext;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -25,13 +26,17 @@
     this.mapParser = mapParser;
   }
 
-  public List<ParameterMapping> getParameterMappings(Object parameterObject) {
+  public BoundSql getBoundSql(Object parameterObject) {
+    return new BoundSql(getSql(parameterObject),getParameterMappings(parameterObject));
+  }
+
+  private List<ParameterMapping> getParameterMappings(Object parameterObject) {
     DynamicSql dynamic = new DynamicSql(configuration);
     parseDynamicTags(context, dynamic, true);
     return dynamic.getParameterMappings(parameterObject);
   }
 
-  public String getSql(Object parameterObject) {
+  private String getSql(Object parameterObject) {
     DynamicSql dynamic = new DynamicSql(configuration);
     parseDynamicTags(context, dynamic, true);
     return dynamic.getSql(parameterObject);

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/SimpleSqlSource.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/SimpleSqlSource.java?rev=759597&r1=759596&r2=759597&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/SimpleSqlSource.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/SimpleSqlSource.java Sat Mar 28 21:34:19 2009
@@ -6,6 +6,7 @@
 import org.apache.ibatis.mapping.Configuration;
 import org.apache.ibatis.mapping.ParameterMapping;
 import org.apache.ibatis.mapping.SqlSource;
+import org.apache.ibatis.mapping.BoundSql;
 import org.apache.ibatis.xml.NodeletContext;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -29,14 +30,18 @@
     this.parseNodes(context);
   }
 
-  public String getSql(Object parameterObject) {
+  public BoundSql getBoundSql(Object parameterObject) {
+    return new BoundSql(getSql(parameterObject), getParameterMappings(parameterObject));
+  }
+
+  private String getSql(Object parameterObject) {
     if (SimpleDynamicSql.isSimpleDynamicSql(sql)) {
       return new SimpleDynamicSql(sql, parameterMappings, configuration.getTypeHandlerRegistry()).getSql(parameterObject);
     }
     return new StaticSql(sql).getSql(parameterObject);
   }
 
-  public List<ParameterMapping> getParameterMappings(Object parameterObject) {
+  private List<ParameterMapping> getParameterMappings(Object parameterObject) {
     return parameterMappings;
   }
 

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/XmlSqlStatementParser.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/XmlSqlStatementParser.java?rev=759597&r1=759596&r2=759597&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/XmlSqlStatementParser.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/XmlSqlStatementParser.java Sat Mar 28 21:34:19 2009
@@ -92,7 +92,7 @@
       Class parameterClass = resolveClass(parameterClassName);
       List<ParameterMapping> parameterMappings = new ArrayList<ParameterMapping>();
       if (sqlSource instanceof SimpleSqlSource) {
-        parameterMappings = sqlSource.getParameterMappings(null);
+        parameterMappings = sqlSource.getBoundSql(null).getParameterMappings();
       }
       ParameterMap.Builder parameterMapBuilder = new ParameterMap.Builder(configuration, id + "-ParameterMap", parameterClass, parameterMappings);
       builder.parameterMap(parameterMapBuilder.build());

Added: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/BoundSql.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/BoundSql.java?rev=759597&view=auto
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/BoundSql.java (added)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/BoundSql.java Sat Mar 28 21:34:19 2009
@@ -0,0 +1,23 @@
+package org.apache.ibatis.mapping;
+
+import java.util.List;
+
+public class BoundSql {
+
+  private String sql;
+  private List<ParameterMapping> parameterMappings;
+
+  public BoundSql(String sql, List<ParameterMapping> parameterMappings) {
+    this.sql = sql;
+    this.parameterMappings = parameterMappings;
+  }
+
+  public String getSql() {
+    return sql;
+  }
+
+  public List<ParameterMapping> getParameterMappings() {
+    return parameterMappings;
+  }
+  
+}

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/MappedStatement.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/MappedStatement.java?rev=759597&r1=759596&r2=759597&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/MappedStatement.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/MappedStatement.java Sat Mar 28 21:34:19 2009
@@ -155,11 +155,13 @@
   }
 
   public String getSql(Object parameterObject) {
-    return sqlSource.getSql(parameterObject);
+    BoundSql boundSql = sqlSource.getBoundSql(parameterObject);
+    return boundSql.getSql();
   }
 
   public List<ParameterMapping> getDynamicParameterMappings(Object parameterObject) {
-    List<ParameterMapping> parameterMappings = sqlSource.getParameterMappings(parameterObject);
+    BoundSql boundSql = sqlSource.getBoundSql(parameterObject);
+    List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
     if (parameterMappings == null || parameterMappings.size() <= 0) {
       parameterMappings = parameterMap.getParameterMappings();
     }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/SqlSource.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/SqlSource.java?rev=759597&r1=759596&r2=759597&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/SqlSource.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/SqlSource.java Sat Mar 28 21:34:19 2009
@@ -1,11 +1,7 @@
 package org.apache.ibatis.mapping;
 
-import java.util.List;
-
 public interface SqlSource {
 
-  String getSql(Object parameterObject);
-
-  List<ParameterMapping> getParameterMappings(Object parameterObject);
+  BoundSql getBoundSql(Object parameterObject);
 
 }

Added: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/DynamicSqlSource.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/DynamicSqlSource.java?rev=759597&view=auto
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/DynamicSqlSource.java (added)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/DynamicSqlSource.java Sat Mar 28 21:34:19 2009
@@ -0,0 +1,14 @@
+package org.apache.ibatis.parser;
+
+import org.apache.ibatis.mapping.SqlSource;
+import org.apache.ibatis.mapping.ParameterMapping;
+import org.apache.ibatis.mapping.BoundSql;
+
+import java.util.List;
+
+public class DynamicSqlSource implements SqlSource {
+
+  public BoundSql getBoundSql(Object parameterObject) {
+    return null;
+  }
+}

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java?rev=759597&r1=759596&r2=759597&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java Sat Mar 28 21:34:19 2009
@@ -1,8 +1,8 @@
 package org.apache.ibatis.parser;
 
 import org.apache.ibatis.mapping.Configuration;
-import org.apache.ibatis.mapping.ParameterMapping;
 import org.apache.ibatis.mapping.SqlSource;
+import org.apache.ibatis.mapping.BoundSql;
 
 import java.lang.reflect.Method;
 import java.util.List;
@@ -33,14 +33,9 @@
     }
   }
 
-  public String getSql(Object parameterObject) {
+  public BoundSql getBoundSql(Object parameterObject) {
     SqlSource sqlSource = createSqlSource(parameterObject);
-    return sqlSource.getSql(parameterObject);
-  }
-
-  public List<ParameterMapping> getParameterMappings(Object parameterObject) {
-    SqlSource sqlSource = createSqlSource(parameterObject);
-    return sqlSource.getParameterMappings(parameterObject);
+    return sqlSource.getBoundSql(parameterObject);
   }
 
   private SqlSource createSqlSource(Object parameterObject) {

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/StaticSqlSource.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/StaticSqlSource.java?rev=759597&r1=759596&r2=759597&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/StaticSqlSource.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/StaticSqlSource.java Sat Mar 28 21:34:19 2009
@@ -2,24 +2,25 @@
 
 import org.apache.ibatis.mapping.ParameterMapping;
 import org.apache.ibatis.mapping.SqlSource;
+import org.apache.ibatis.mapping.BoundSql;
 
 import java.util.List;
 
 public class StaticSqlSource implements SqlSource {
 
-  private String sql;
-  private List<ParameterMapping> parameterMappings;
 
-  public StaticSqlSource(String sql, List<ParameterMapping> parameterMappings) {
-    this.sql = sql;
-    this.parameterMappings = parameterMappings;
+  private BoundSql boundSql;
+
+  public StaticSqlSource(String sql) {
+    this.boundSql = new BoundSql(sql, null);
   }
 
-  public String getSql(Object parameterObject) {
-    return sql;
+  public StaticSqlSource(String sql, List<ParameterMapping> parameterMappings) {
+    this.boundSql = new BoundSql(sql, parameterMappings);
   }
 
-  public List<ParameterMapping> getParameterMappings(Object parameterObject) {
-    return parameterMappings;
+  public BoundSql getBoundSql(Object parameterObject) {
+    return boundSql;
   }
+
 }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/ExecutorTestHelper.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/ExecutorTestHelper.java?rev=759597&r1=759596&r2=759597&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/ExecutorTestHelper.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/executor/ExecutorTestHelper.java Sat Mar 28 21:34:19 2009
@@ -10,6 +10,7 @@
 import org.apache.ibatis.mapping.*;
 import org.apache.ibatis.type.JdbcType;
 import org.apache.ibatis.type.TypeHandlerRegistry;
+import org.apache.ibatis.parser.StaticSqlSource;
 
 import java.util.*;
 
@@ -29,7 +30,7 @@
 
   public static MappedStatement prepareInsertAuthorMappedStatement(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    MappedStatement ms = new MappedStatement.Builder(config, "insertAuthor", new BasicSqlSource("INSERT INTO author (id,username,password,email,bio,favourite_section) values(?,?,?,?,?,?)"))
+    MappedStatement ms = new MappedStatement.Builder(config, "insertAuthor", new StaticSqlSource("INSERT INTO author (id,username,password,email,bio,favourite_section) values(?,?,?,?,?,?)"))
         .parameterMap(
             new ParameterMap.Builder(
                 config, "defaultParameterMap", Author.class,
@@ -49,7 +50,7 @@
 
   public static MappedStatement prepareInsertAuthorMappedStatementWithAutoKey(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    MappedStatement ms = new MappedStatement.Builder(config, "insertAuthor", new BasicSqlSource("INSERT INTO author (username,password,email,bio,favourite_section) values(?,?,?,?,?)"))
+    MappedStatement ms = new MappedStatement.Builder(config, "insertAuthor", new StaticSqlSource("INSERT INTO author (username,password,email,bio,favourite_section) values(?,?,?,?,?)"))
         .parameterMap(
             new ParameterMap.Builder(config, "defaultParameterMap", Author.class, new ArrayList<ParameterMapping>() {
               {
@@ -67,7 +68,7 @@
 
   public static MappedStatement prepareInsertAuthorProc(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    MappedStatement ms = new MappedStatement.Builder(config, "insertAuthorProc", new BasicSqlSource("{call insertAuthor(?,?,?,?)}"))
+    MappedStatement ms = new MappedStatement.Builder(config, "insertAuthorProc", new StaticSqlSource("{call insertAuthor(?,?,?,?)}"))
         .parameterMap(new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
             new ArrayList<ParameterMapping>() {
               {
@@ -83,7 +84,7 @@
 
   public static MappedStatement prepareUpdateAuthorMappedStatement(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    MappedStatement ms = new MappedStatement.Builder(config, "updateAuthor", new BasicSqlSource("UPDATE author SET username = ?, password = ?, email = ?, bio = ? WHERE id = ?"))
+    MappedStatement ms = new MappedStatement.Builder(config, "updateAuthor", new StaticSqlSource("UPDATE author SET username = ?, password = ?, email = ?, bio = ? WHERE id = ?"))
         .parameterMap(new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
             new ArrayList<ParameterMapping>() {
               {
@@ -100,7 +101,7 @@
 
   public static MappedStatement prepareDeleteAuthorMappedStatement(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    MappedStatement ms = new MappedStatement.Builder(config, "deleteAuthor", new BasicSqlSource("DELETE FROM author WHERE id = ?"))
+    MappedStatement ms = new MappedStatement.Builder(config, "deleteAuthor", new StaticSqlSource("DELETE FROM author WHERE id = ?"))
         .parameterMap(new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
             new ArrayList<ParameterMapping>() {
               {
@@ -127,7 +128,7 @@
           }
         }).build();
 
-    MappedStatement ms = new MappedStatement.Builder(config, "selectAuthor", new BasicSqlSource("SELECT * FROM author WHERE id = ?"))
+    MappedStatement ms = new MappedStatement.Builder(config, "selectAuthor", new StaticSqlSource("SELECT * FROM author WHERE id = ?"))
         .parameterMap(new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
             new ArrayList<ParameterMapping>() {
               {
@@ -145,7 +146,7 @@
 
   public static MappedStatement prepareSelectAllAuthorsAutoMappedStatement(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    return new MappedStatement.Builder(config, "selectAuthorAutoMap", new BasicSqlSource("SELECT * FROM author ORDER BY id"))
+    return new MappedStatement.Builder(config, "selectAuthorAutoMap", new StaticSqlSource("SELECT * FROM author ORDER BY id"))
         .resultMaps(new ArrayList<ResultMap>() {
           {
             add(new ResultMap.Builder(config, "defaultResultMap", Author.class, new ArrayList() {
@@ -160,7 +161,7 @@
 
   public static MappedStatement prepareSelectOneAuthorMappedStatementWithConstructorResults(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    MappedStatement ms = new MappedStatement.Builder(config, "selectAuthor", new BasicSqlSource("SELECT * FROM author WHERE id = ?"))
+    MappedStatement ms = new MappedStatement.Builder(config, "selectAuthor", new StaticSqlSource("SELECT * FROM author WHERE id = ?"))
         .parameterMap(new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
             new ArrayList<ParameterMapping>() {
               {
@@ -192,7 +193,7 @@
 
   public static MappedStatement prepareSelectTwoSetsOfAuthorsProc(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    MappedStatement ms = new MappedStatement.Builder(config, "selectTwoSetsOfAuthors", new BasicSqlSource("{call selectTwoSetsOfAuthors(?,?)}"))
+    MappedStatement ms = new MappedStatement.Builder(config, "selectTwoSetsOfAuthors", new StaticSqlSource("{call selectTwoSetsOfAuthors(?,?)}"))
         .statementType(StatementType.CALLABLE)
         .parameterMap(new ParameterMap.Builder(
             config, "defaultParameterMap", Author.class,
@@ -222,7 +223,7 @@
 
   public static MappedStatement prepareSelectAuthorViaOutParams(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    MappedStatement ms = new MappedStatement.Builder(config, "selectAuthorViaOutParams", new BasicSqlSource("{call selectAuthorViaOutParams(?,?,?,?,?)}"))
+    MappedStatement ms = new MappedStatement.Builder(config, "selectAuthorViaOutParams", new StaticSqlSource("{call selectAuthorViaOutParams(?,?,?,?,?)}"))
         .statementType(StatementType.CALLABLE)
         .parameterMap(new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
             new ArrayList<ParameterMapping>() {
@@ -248,7 +249,7 @@
       }
     }).build();
     config.addResultMap(discriminatorResultMap);
-    MappedStatement ms = new MappedStatement.Builder(config, "selectProducts", new BasicSqlSource("SELECT * FROM product"))
+    MappedStatement ms = new MappedStatement.Builder(config, "selectProducts", new StaticSqlSource("SELECT * FROM product"))
         .resultMaps(new ArrayList<ResultMap>() {
           {
             add(new ResultMap.Builder(config, "defaultResultMap", HashMap.class, new ArrayList<ResultMapping>() {
@@ -276,7 +277,7 @@
 
   public static MappedStatement createInsertAuthorWithIDof99MappedStatement(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    MappedStatement ms = new MappedStatement.Builder(config, "insertAuthor", new BasicSqlSource("INSERT INTO author (id,username,password,email,bio) values(99,'someone','******','someone@apache.org',null)"))
+    MappedStatement ms = new MappedStatement.Builder(config, "insertAuthor", new StaticSqlSource("INSERT INTO author (id,username,password,email,bio) values(99,'someone','******','someone@apache.org',null)"))
         .statementType(StatementType.STATEMENT)
         .parameterMap(new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
             new ArrayList<ParameterMapping>()).build())
@@ -287,7 +288,7 @@
 
   public static MappedStatement createSelectAuthorWithIDof99MappedStatement(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    MappedStatement ms = new MappedStatement.Builder(config, "selectAuthor", new BasicSqlSource("SELECT * FROM author WHERE id = 99"))
+    MappedStatement ms = new MappedStatement.Builder(config, "selectAuthor", new StaticSqlSource("SELECT * FROM author WHERE id = 99"))
         .statementType(StatementType.STATEMENT)
         .parameterMap(new ParameterMap.Builder(config, "defaultParameterMap", Author.class, new ArrayList<ParameterMapping>()).build())
         .resultMaps(new ArrayList<ResultMap>() {
@@ -308,7 +309,7 @@
 
   public static MappedStatement prepareComplexSelectBlogMappedStatement(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    final SqlSource sqlSource = new BasicSqlSource("SELECT b.id, b.author_id, b.title, a.username, a.password, a.email, a.bio" +
+    final SqlSource sqlSource = new StaticSqlSource("SELECT b.id, b.author_id, b.title, a.username, a.password, a.email, a.bio" +
         " FROM blog b" +
         " INNER JOIN author a ON b.author_id = a.id" +
         " WHERE b.id = ?");
@@ -347,7 +348,7 @@
 
   public static MappedStatement prepareSelectBlogByIdAndAuthor(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    final SqlSource sqlSource = new BasicSqlSource("SELECT b.id, b.author_id, b.title, a.username, a.password, a.email, a.bio" +
+    final SqlSource sqlSource = new StaticSqlSource("SELECT b.id, b.author_id, b.title, a.username, a.password, a.email, a.bio" +
         " FROM blog b" +
         " INNER JOIN author a ON b.author_id = a.id" +
         " WHERE b.id = ? and a.id = ?");
@@ -388,7 +389,7 @@
 
   public static MappedStatement prepareSelectPostsForBlogMappedStatement(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    final SqlSource sqlSource = new BasicSqlSource("SELECT p.id, p.created_on, p.blog_id, p.section, p.subject, p.body, pt.tag_id," +
+    final SqlSource sqlSource = new StaticSqlSource("SELECT p.id, p.created_on, p.blog_id, p.section, p.subject, p.body, pt.tag_id," +
         " t.name as tag_name, c.id as comment_id, c.name as comment_name, c.comment" +
         " FROM post p" +
         " INNER JOIN post_tag pt ON pt.post_id = p.id" +
@@ -454,7 +455,7 @@
 
   public static MappedStatement prepareSelectPostMappedStatement(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    final SqlSource sqlSource = new BasicSqlSource("SELECT p.id, p.created_on, p.blog_id, p.section, p.subject, p.body, pt.tag_id," +
+    final SqlSource sqlSource = new StaticSqlSource("SELECT p.id, p.created_on, p.blog_id, p.section, p.subject, p.body, pt.tag_id," +
         " t.name as tag_name, c.id as comment_id, c.name as comment_name, c.comment" +
         " FROM post p" +
         " LEFT OUTER JOIN post_tag pt ON pt.post_id = p.id" +
@@ -523,7 +524,7 @@
 
   public static MappedStatement prepareSelectPostWithBlogByAuthorMappedStatement(final Configuration config) {
     final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
-    final SqlSource sqlSource = new BasicSqlSource("SELECT p.id, p.created_on, p.blog_id, p.author_id, p.section, p.subject, p.body, pt.tag_id," +
+    final SqlSource sqlSource = new StaticSqlSource("SELECT p.id, p.created_on, p.blog_id, p.author_id, p.section, p.subject, p.body, pt.tag_id," +
         " t.name as tag_name, c.id as comment_id, c.name as comment_name, c.comment" +
         " FROM post p" +
         " LEFT OUTER JOIN post_tag pt ON pt.post_id = p.id" +