performance test
diff --git a/common-repository/mybatis-repository/src/main/resources/META-INF/mappers/OrderMapper.xml b/common-repository/mybatis-repository/src/main/resources/META-INF/mappers/OrderMapper.xml
index 69a52c4..04787ef 100644
--- a/common-repository/mybatis-repository/src/main/resources/META-INF/mappers/OrderMapper.xml
+++ b/common-repository/mybatis-repository/src/main/resources/META-INF/mappers/OrderMapper.xml
@@ -28,7 +28,7 @@
     </delete>
     
     <select id="selectAll" resultMap="baseResultMap">
-        SELECT * FROM t_order;
+        SELECT * FROM t_order where user_id=2;
     </select>
     
     <select id="selectRange" resultMap="baseResultMap">
diff --git a/common-repository/repository-api/src/main/java/io/shardingsphere/example/repository/api/service/CommonServiceImpl.java b/common-repository/repository-api/src/main/java/io/shardingsphere/example/repository/api/service/CommonServiceImpl.java
index 97c86dd..845b6f7 100644
--- a/common-repository/repository-api/src/main/java/io/shardingsphere/example/repository/api/service/CommonServiceImpl.java
+++ b/common-repository/repository-api/src/main/java/io/shardingsphere/example/repository/api/service/CommonServiceImpl.java
@@ -21,7 +21,6 @@
 import io.shardingsphere.example.repository.api.entity.OrderItem;
 import io.shardingsphere.example.repository.api.repository.OrderItemRepository;
 import io.shardingsphere.example.repository.api.repository.OrderRepository;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -30,36 +29,36 @@
     
     @Override
     public void initEnvironment() {
-        getOrderRepository().createTableIfNotExists();
-        getOrderItemRepository().createTableIfNotExists();
-        getOrderRepository().truncateTable();
-        getOrderItemRepository().truncateTable();
+//        getOrderRepository().createTableIfNotExists();
+//        getOrderItemRepository().createTableIfNotExists();
+//        getOrderRepository().truncateTable();
+//        getOrderItemRepository().truncateTable();
     }
     
     @Override
     public void cleanEnvironment() {
-        getOrderRepository().dropTable();
-        getOrderItemRepository().dropTable();
+//        getOrderRepository().dropTable();
+//        getOrderItemRepository().dropTable();
     }
     
-    @Transactional
+//    @Transactional
     @Override
     public void processSuccess(final boolean isRangeSharding) {
-        System.out.println("-------------- Process Success Begin ---------------");
-        List<Long> orderIds = insertData();
+//        System.out.println("-------------- Process Success Begin ---------------");
+//        List<Long> orderIds = insertData();
         printData(isRangeSharding);
-        deleteData(orderIds);
-        printData(isRangeSharding);
-        System.out.println("-------------- Process Success Finish --------------");
+//        deleteData(orderIds);
+//        printData(isRangeSharding);
+//        System.out.println("-------------- Process Success Finish --------------");
     }
     
-    @Transactional
+//    @Transactional
     @Override
     public void processFailure() {
-        System.out.println("-------------- Process Failure Begin ---------------");
-        insertData();
-        System.out.println("-------------- Process Failure Finish --------------");
-        throw new RuntimeException("Exception occur for transaction test.");
+//        System.out.println("-------------- Process Failure Begin ---------------");
+//        insertData();
+//        System.out.println("-------------- Process Failure Finish --------------");
+//        throw new RuntimeException("Exception occur for transaction test.");
     }
     
     private List<Long> insertData() {
@@ -109,14 +108,17 @@
     }
     
     private void printDataAll() {
-        System.out.println("---------------------------- Print Order Data -----------------------");
-        for (Object each : getOrderRepository().selectAll()) {
-            System.out.println(each);
+        getOrderRepository().selectAll();
+        System.out.println("--------------------------------------------------");
+        long before = System.nanoTime();
+        for (int i = 0; i < 1; i++) {
+            getOrderRepository().selectAll();
         }
-        System.out.println("---------------------------- Print OrderItem Data -------------------");
-        for (Object each : getOrderItemRepository().selectAll()) {
-            System.out.println(each);
-        }
+        System.out.println("Total:" + (System.nanoTime() - before));
+//        System.out.println("---------------------------- Print OrderItem Data -------------------");
+//        for (Object each : getOrderItemRepository().selectAll()) {
+//            System.out.println(each);
+//        }
     }
     
     protected abstract OrderRepository getOrderRepository();
diff --git a/sharding-jdbc-example/raw-jdbc-nodep-example/src/main/java/io/shardingsphere/example/jdbc/nodep/JavaConfigurationExample.java b/sharding-jdbc-example/raw-jdbc-nodep-example/src/main/java/io/shardingsphere/example/jdbc/nodep/JavaConfigurationExample.java
index fbaa8f3..27c060f 100644
--- a/sharding-jdbc-example/raw-jdbc-nodep-example/src/main/java/io/shardingsphere/example/jdbc/nodep/JavaConfigurationExample.java
+++ b/sharding-jdbc-example/raw-jdbc-nodep-example/src/main/java/io/shardingsphere/example/jdbc/nodep/JavaConfigurationExample.java
@@ -17,6 +17,7 @@
 
 package io.shardingsphere.example.jdbc.nodep;
 
+import io.shardingsphere.example.config.DataSourceUtil;
 import io.shardingsphere.example.config.ExampleConfiguration;
 import io.shardingsphere.example.jdbc.nodep.config.MasterSlaveConfiguration;
 import io.shardingsphere.example.jdbc.nodep.config.ShardingDatabasesAndTablesConfigurationPrecise;
@@ -75,7 +76,8 @@
             default:
                 throw new UnsupportedOperationException(type.name());
         }
-        return exampleConfig.getDataSource();
+//        return exampleConfig.getDataSource();
+        return DataSourceUtil.createDataSource("demo_ds_0");
     }
     
     private static DataSource getDataSourceRange() throws SQLException {
diff --git a/sharding-jdbc-example/spring-namespace-nodep-example/pom.xml b/sharding-jdbc-example/spring-namespace-nodep-example/pom.xml
index df57e39..bf83992 100644
--- a/sharding-jdbc-example/spring-namespace-nodep-example/pom.xml
+++ b/sharding-jdbc-example/spring-namespace-nodep-example/pom.xml
@@ -27,10 +27,10 @@
             <groupId>io.shardingsphere</groupId>
             <artifactId>sharding-jdbc-spring-namespace</artifactId>
         </dependency>
-        <dependency>
-            <groupId>io.shardingsphere</groupId>
-            <artifactId>sharding-transaction-2pc-xa</artifactId>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>io.shardingsphere</groupId>-->
+            <!--<artifactId>sharding-transaction-2pc-xa</artifactId>-->
+        <!--</dependency>-->
     
         <dependency>
             <groupId>org.aspectj</groupId>
diff --git a/sharding-jdbc-example/spring-namespace-nodep-example/spring-namespace-nodep-mybatis-example/src/main/java/io/shardingsphere/example/spring/namespace/mybatis/nodep/SpringNamespaceExample.java b/sharding-jdbc-example/spring-namespace-nodep-example/spring-namespace-nodep-mybatis-example/src/main/java/io/shardingsphere/example/spring/namespace/mybatis/nodep/SpringNamespaceExample.java
index d1350f8..8e85fa6 100644
--- a/sharding-jdbc-example/spring-namespace-nodep-example/spring-namespace-nodep-mybatis-example/src/main/java/io/shardingsphere/example/spring/namespace/mybatis/nodep/SpringNamespaceExample.java
+++ b/sharding-jdbc-example/spring-namespace-nodep-example/spring-namespace-nodep-mybatis-example/src/main/java/io/shardingsphere/example/spring/namespace/mybatis/nodep/SpringNamespaceExample.java
@@ -44,6 +44,7 @@
         switch (type) {
             case SHARDING_DATABASES:
                 return "META-INF/application-sharding-databases-precise.xml";
+//                return "META-INF/application-sharding-databases-precise_jdbc.xml";
             case SHARDING_TABLES:
                 return "META-INF/application-sharding-tables-precise.xml";
             case SHARDING_DATABASES_AND_TABLES:
diff --git a/sharding-jdbc-example/spring-namespace-nodep-example/spring-namespace-nodep-mybatis-example/src/main/resources/META-INF/application-sharding-databases-precise.xml b/sharding-jdbc-example/spring-namespace-nodep-example/spring-namespace-nodep-mybatis-example/src/main/resources/META-INF/application-sharding-databases-precise.xml
index 590649c..8bc1d23 100644
--- a/sharding-jdbc-example/spring-namespace-nodep-example/spring-namespace-nodep-mybatis-example/src/main/resources/META-INF/application-sharding-databases-precise.xml
+++ b/sharding-jdbc-example/spring-namespace-nodep-example/spring-namespace-nodep-mybatis-example/src/main/resources/META-INF/application-sharding-databases-precise.xml
@@ -12,7 +12,7 @@
                         http://www.springframework.org/schema/context/spring-context.xsd
                         http://shardingsphere.io/schema/shardingsphere/sharding 
                         http://shardingsphere.io/schema/shardingsphere/sharding/sharding.xsd">
-    <import resource="classpath:META-INF/shardingTransaction.xml"/>
+    <!--<import resource="classpath:META-INF/shardingTransaction.xml"/>-->
     <context:component-scan base-package="io.shardingsphere.example.repository.mybatis" />
     
     <bean id="demo_ds_0" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
@@ -40,10 +40,10 @@
         </sharding:sharding-rule>
     </sharding:data-source>
     
-    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
-        <property name="dataSource" ref="shardingDataSource" />
-    </bean>
-    <tx:annotation-driven />
+    <!--<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">-->
+        <!--<property name="dataSource" ref="shardingDataSource" />-->
+    <!--</bean>-->
+    <!--<tx:annotation-driven />-->
     
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
         <property name="dataSource" ref="shardingDataSource"/>
diff --git a/sharding-jdbc-example/spring-namespace-nodep-example/spring-namespace-nodep-mybatis-example/src/main/resources/META-INF/application-sharding-databases-precise_jdbc.xml b/sharding-jdbc-example/spring-namespace-nodep-example/spring-namespace-nodep-mybatis-example/src/main/resources/META-INF/application-sharding-databases-precise_jdbc.xml
new file mode 100644
index 0000000..0636864
--- /dev/null
+++ b/sharding-jdbc-example/spring-namespace-nodep-example/spring-namespace-nodep-mybatis-example/src/main/resources/META-INF/application-sharding-databases-precise_jdbc.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:context="http://www.springframework.org/schema/context" 
+    xmlns:tx="http://www.springframework.org/schema/tx" 
+    xmlns:sharding="http://shardingsphere.io/schema/shardingsphere/sharding"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans
+                        http://www.springframework.org/schema/beans/spring-beans.xsd 
+                        http://www.springframework.org/schema/tx 
+                        http://www.springframework.org/schema/tx/spring-tx.xsd
+                        http://www.springframework.org/schema/context 
+                        http://www.springframework.org/schema/context/spring-context.xsd
+                        http://shardingsphere.io/schema/shardingsphere/sharding 
+                        http://shardingsphere.io/schema/shardingsphere/sharding/sharding.xsd">
+    <!--<import resource="classpath:META-INF/shardingTransaction.xml"/>-->
+    <context:component-scan base-package="io.shardingsphere.example.repository.mybatis" />
+    
+    <bean id="demo_ds_0" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
+        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
+        <property name="url" value="jdbc:mysql://localhost:3306/demo_ds_0"/>
+        <property name="username" value="root"/>
+        <property name="password" value=""/>
+    </bean>
+    
+    <!--<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">-->
+        <!--<property name="dataSource" ref="demo_ds_0" />-->
+    <!--</bean>-->
+    <!--<tx:annotation-driven />-->
+    
+    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
+        <property name="dataSource" ref="demo_ds_0"/>
+        <property name="mapperLocations" value="classpath*:META-INF/mappers/*.xml"/>
+    </bean>
+    
+    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
+        <property name="basePackage" value="io.shardingsphere.example.repository.mybatis.repository"/>
+        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
+    </bean>
+</beans>