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>