Loading pom.xml +7 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ <springframework.version>4.1.1.RELEASE</springframework.version> <mysql-connector-java.version>5.1.30</mysql-connector-java.version> <h2.version>1.4.184</h2.version> <postgresql.version>9.1-901-1.jdbc4</postgresql.version> <junit.version>4.12</junit.version> <system-rules.version>1.16.0</system-rules.version> <hamcrest.version>1.3</hamcrest.version> Loading Loading @@ -188,6 +189,12 @@ <version>${h2.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>${postgresql.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> Loading sharding-jdbc-core/pom.xml +4 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,10 @@ <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> <dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> Loading sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/AbstractDBUnitTest.java +10 −0 Original line number Diff line number Diff line Loading @@ -21,12 +21,14 @@ import com.dangdang.ddframe.rdb.sharding.constant.DatabaseType; import org.apache.commons.dbcp.BasicDataSource; import org.dbunit.DatabaseUnitException; import org.dbunit.IDatabaseTester; import org.dbunit.database.DatabaseConnection; import org.dbunit.database.IDatabaseConnection; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable; import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; import org.dbunit.ext.h2.H2Connection; import org.dbunit.ext.mysql.MySqlConnection; import org.dbunit.ext.oracle.OracleConnection; import org.dbunit.operation.DatabaseOperation; import org.h2.tools.RunScript; import org.junit.Before; Loading Loading @@ -77,6 +79,10 @@ public abstract class AbstractDBUnitTest { protected abstract List<String> getDataSetFiles(); protected final String currentDbType() { return DatabaseType.H2 == CURRENT_DB_TYPE ? "mysql" : CURRENT_DB_TYPE.name().toLowerCase(); } protected final Map<String, DataSource> createDataSourceMap(final String dataSourceNamePattern) { Map<String, DataSource> result = new HashMap<>(getDataSetFiles().size()); for (String each : getDataSetFiles()) { Loading Loading @@ -136,6 +142,10 @@ public abstract class AbstractDBUnitTest { return new H2Connection(connection, "PUBLIC"); case MySQL: return new MySqlConnection(connection, "PUBLIC"); case PostgreSQL: return new DatabaseConnection(connection); case Oracle: return new OracleConnection(connection, "PUBLIC"); default: throw new UnsupportedOperationException(dbEnv.getDatabaseType().name()); } Loading sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/DataBaseEnvironment.java +18 −11 Original line number Diff line number Diff line Loading @@ -17,22 +17,23 @@ package com.dangdang.ddframe.rdb.integrate; import java.util.HashMap; import java.util.Map; import com.dangdang.ddframe.rdb.sharding.constant.DatabaseType; import lombok.Getter; import java.util.HashMap; import java.util.Map; public final class DataBaseEnvironment { private static final Map<DatabaseType, Class<?>> DRIVER_CLASS_NAME = new HashMap<>(2); private static final int INIT_CAPACITY = 3; private static final Map<DatabaseType, Class<?>> DRIVER_CLASS_NAME = new HashMap<>(INIT_CAPACITY); private static final Map<DatabaseType, String> URL = new HashMap<>(2); private static final Map<DatabaseType, String> URL = new HashMap<>(INIT_CAPACITY); private static final Map<DatabaseType, String> USERNAME = new HashMap<>(2); private static final Map<DatabaseType, String> USERNAME = new HashMap<>(INIT_CAPACITY); private static final Map<DatabaseType, String> PASSWORD = new HashMap<>(2); private static final Map<DatabaseType, String> PASSWORD = new HashMap<>(INIT_CAPACITY); @Getter private final DatabaseType databaseType; Loading @@ -44,13 +45,19 @@ public final class DataBaseEnvironment { private void fillData() { DRIVER_CLASS_NAME.put(DatabaseType.H2, org.h2.Driver.class); DRIVER_CLASS_NAME.put(DatabaseType.MySQL, com.mysql.jdbc.Driver.class); URL.put(DatabaseType.H2, "jdbc:h2:mem:%s;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL"); URL.put(DatabaseType.MySQL, "jdbc:mysql://localhost:3306/%s"); USERNAME.put(DatabaseType.H2, "sa"); USERNAME.put(DatabaseType.MySQL, "root"); PASSWORD.put(DatabaseType.H2, ""); DRIVER_CLASS_NAME.put(DatabaseType.MySQL, com.mysql.jdbc.Driver.class); URL.put(DatabaseType.MySQL, "jdbc:mysql://localhost:3306/%s"); USERNAME.put(DatabaseType.MySQL, "root"); PASSWORD.put(DatabaseType.MySQL, ""); DRIVER_CLASS_NAME.put(DatabaseType.PostgreSQL, org.postgresql.Driver.class); URL.put(DatabaseType.PostgreSQL, "jdbc:postgresql://localhost:5432/%s"); USERNAME.put(DatabaseType.PostgreSQL, "postgres"); PASSWORD.put(DatabaseType.PostgreSQL, ""); } public String getDriverClassName() { Loading sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/db/AbstractShardingDataBasesOnlyDBUnitTest.java +11 −11 Original line number Diff line number Diff line Loading @@ -26,8 +26,8 @@ import com.dangdang.ddframe.rdb.sharding.api.rule.TableRule; import com.dangdang.ddframe.rdb.sharding.api.strategy.database.DatabaseShardingStrategy; import com.dangdang.ddframe.rdb.sharding.api.strategy.table.NoneTableShardingAlgorithm; import com.dangdang.ddframe.rdb.sharding.api.strategy.table.TableShardingStrategy; import com.dangdang.ddframe.rdb.sharding.keygen.fixture.IncrementKeyGenerator; import com.dangdang.ddframe.rdb.sharding.jdbc.ShardingDataSource; import com.dangdang.ddframe.rdb.sharding.keygen.fixture.IncrementKeyGenerator; import org.junit.AfterClass; import java.util.Arrays; Loading @@ -43,16 +43,16 @@ public abstract class AbstractShardingDataBasesOnlyDBUnitTest extends AbstractDB @Override protected List<String> getSchemaFiles() { return Arrays.asList( "integrate/schema/db/db_0.sql", "integrate/schema/db/db_1.sql", "integrate/schema/db/db_2.sql", "integrate/schema/db/db_3.sql", "integrate/schema/db/db_4.sql", "integrate/schema/db/db_5.sql", "integrate/schema/db/db_6.sql", "integrate/schema/db/db_7.sql", "integrate/schema/db/db_8.sql", "integrate/schema/db/db_9.sql"); "integrate/schema/" + currentDbType() + "/db/db_0.sql", "integrate/schema/" + currentDbType() + "/db/db_1.sql", "integrate/schema/" + currentDbType() + "/db/db_2.sql", "integrate/schema/" + currentDbType() + "/db/db_3.sql", "integrate/schema/" + currentDbType() + "/db/db_4.sql", "integrate/schema/" + currentDbType() + "/db/db_5.sql", "integrate/schema/" + currentDbType() + "/db/db_6.sql", "integrate/schema/" + currentDbType() + "/db/db_7.sql", "integrate/schema/" + currentDbType() + "/db/db_8.sql", "integrate/schema/" + currentDbType() + "/db/db_9.sql"); } @Override Loading Loading
pom.xml +7 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ <springframework.version>4.1.1.RELEASE</springframework.version> <mysql-connector-java.version>5.1.30</mysql-connector-java.version> <h2.version>1.4.184</h2.version> <postgresql.version>9.1-901-1.jdbc4</postgresql.version> <junit.version>4.12</junit.version> <system-rules.version>1.16.0</system-rules.version> <hamcrest.version>1.3</hamcrest.version> Loading Loading @@ -188,6 +189,12 @@ <version>${h2.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>${postgresql.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-library</artifactId> Loading
sharding-jdbc-core/pom.xml +4 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,10 @@ <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> <dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> Loading
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/AbstractDBUnitTest.java +10 −0 Original line number Diff line number Diff line Loading @@ -21,12 +21,14 @@ import com.dangdang.ddframe.rdb.sharding.constant.DatabaseType; import org.apache.commons.dbcp.BasicDataSource; import org.dbunit.DatabaseUnitException; import org.dbunit.IDatabaseTester; import org.dbunit.database.DatabaseConnection; import org.dbunit.database.IDatabaseConnection; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable; import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; import org.dbunit.ext.h2.H2Connection; import org.dbunit.ext.mysql.MySqlConnection; import org.dbunit.ext.oracle.OracleConnection; import org.dbunit.operation.DatabaseOperation; import org.h2.tools.RunScript; import org.junit.Before; Loading Loading @@ -77,6 +79,10 @@ public abstract class AbstractDBUnitTest { protected abstract List<String> getDataSetFiles(); protected final String currentDbType() { return DatabaseType.H2 == CURRENT_DB_TYPE ? "mysql" : CURRENT_DB_TYPE.name().toLowerCase(); } protected final Map<String, DataSource> createDataSourceMap(final String dataSourceNamePattern) { Map<String, DataSource> result = new HashMap<>(getDataSetFiles().size()); for (String each : getDataSetFiles()) { Loading Loading @@ -136,6 +142,10 @@ public abstract class AbstractDBUnitTest { return new H2Connection(connection, "PUBLIC"); case MySQL: return new MySqlConnection(connection, "PUBLIC"); case PostgreSQL: return new DatabaseConnection(connection); case Oracle: return new OracleConnection(connection, "PUBLIC"); default: throw new UnsupportedOperationException(dbEnv.getDatabaseType().name()); } Loading
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/DataBaseEnvironment.java +18 −11 Original line number Diff line number Diff line Loading @@ -17,22 +17,23 @@ package com.dangdang.ddframe.rdb.integrate; import java.util.HashMap; import java.util.Map; import com.dangdang.ddframe.rdb.sharding.constant.DatabaseType; import lombok.Getter; import java.util.HashMap; import java.util.Map; public final class DataBaseEnvironment { private static final Map<DatabaseType, Class<?>> DRIVER_CLASS_NAME = new HashMap<>(2); private static final int INIT_CAPACITY = 3; private static final Map<DatabaseType, Class<?>> DRIVER_CLASS_NAME = new HashMap<>(INIT_CAPACITY); private static final Map<DatabaseType, String> URL = new HashMap<>(2); private static final Map<DatabaseType, String> URL = new HashMap<>(INIT_CAPACITY); private static final Map<DatabaseType, String> USERNAME = new HashMap<>(2); private static final Map<DatabaseType, String> USERNAME = new HashMap<>(INIT_CAPACITY); private static final Map<DatabaseType, String> PASSWORD = new HashMap<>(2); private static final Map<DatabaseType, String> PASSWORD = new HashMap<>(INIT_CAPACITY); @Getter private final DatabaseType databaseType; Loading @@ -44,13 +45,19 @@ public final class DataBaseEnvironment { private void fillData() { DRIVER_CLASS_NAME.put(DatabaseType.H2, org.h2.Driver.class); DRIVER_CLASS_NAME.put(DatabaseType.MySQL, com.mysql.jdbc.Driver.class); URL.put(DatabaseType.H2, "jdbc:h2:mem:%s;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL"); URL.put(DatabaseType.MySQL, "jdbc:mysql://localhost:3306/%s"); USERNAME.put(DatabaseType.H2, "sa"); USERNAME.put(DatabaseType.MySQL, "root"); PASSWORD.put(DatabaseType.H2, ""); DRIVER_CLASS_NAME.put(DatabaseType.MySQL, com.mysql.jdbc.Driver.class); URL.put(DatabaseType.MySQL, "jdbc:mysql://localhost:3306/%s"); USERNAME.put(DatabaseType.MySQL, "root"); PASSWORD.put(DatabaseType.MySQL, ""); DRIVER_CLASS_NAME.put(DatabaseType.PostgreSQL, org.postgresql.Driver.class); URL.put(DatabaseType.PostgreSQL, "jdbc:postgresql://localhost:5432/%s"); USERNAME.put(DatabaseType.PostgreSQL, "postgres"); PASSWORD.put(DatabaseType.PostgreSQL, ""); } public String getDriverClassName() { Loading
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/db/AbstractShardingDataBasesOnlyDBUnitTest.java +11 −11 Original line number Diff line number Diff line Loading @@ -26,8 +26,8 @@ import com.dangdang.ddframe.rdb.sharding.api.rule.TableRule; import com.dangdang.ddframe.rdb.sharding.api.strategy.database.DatabaseShardingStrategy; import com.dangdang.ddframe.rdb.sharding.api.strategy.table.NoneTableShardingAlgorithm; import com.dangdang.ddframe.rdb.sharding.api.strategy.table.TableShardingStrategy; import com.dangdang.ddframe.rdb.sharding.keygen.fixture.IncrementKeyGenerator; import com.dangdang.ddframe.rdb.sharding.jdbc.ShardingDataSource; import com.dangdang.ddframe.rdb.sharding.keygen.fixture.IncrementKeyGenerator; import org.junit.AfterClass; import java.util.Arrays; Loading @@ -43,16 +43,16 @@ public abstract class AbstractShardingDataBasesOnlyDBUnitTest extends AbstractDB @Override protected List<String> getSchemaFiles() { return Arrays.asList( "integrate/schema/db/db_0.sql", "integrate/schema/db/db_1.sql", "integrate/schema/db/db_2.sql", "integrate/schema/db/db_3.sql", "integrate/schema/db/db_4.sql", "integrate/schema/db/db_5.sql", "integrate/schema/db/db_6.sql", "integrate/schema/db/db_7.sql", "integrate/schema/db/db_8.sql", "integrate/schema/db/db_9.sql"); "integrate/schema/" + currentDbType() + "/db/db_0.sql", "integrate/schema/" + currentDbType() + "/db/db_1.sql", "integrate/schema/" + currentDbType() + "/db/db_2.sql", "integrate/schema/" + currentDbType() + "/db/db_3.sql", "integrate/schema/" + currentDbType() + "/db/db_4.sql", "integrate/schema/" + currentDbType() + "/db/db_5.sql", "integrate/schema/" + currentDbType() + "/db/db_6.sql", "integrate/schema/" + currentDbType() + "/db/db_7.sql", "integrate/schema/" + currentDbType() + "/db/db_8.sql", "integrate/schema/" + currentDbType() + "/db/db_9.sql"); } @Override Loading