use of io.shardingjdbc.core.jdbc.core.datasource.ShardingDataSource in project sharding-jdbc by shardingjdbc.
the class RoutingDatabaseOnlyWithHintForSelectTest method assertSelectEqualsWithSingleTable.
@Test
public void assertSelectEqualsWithSingleTable() throws SQLException, DatabaseUnitException {
for (Map.Entry<DatabaseType, ShardingDataSource> each : shardingDataSources.entrySet()) {
String sql = SQLPlaceholderUtil.replacePreparedStatement(DatabaseTestSQL.SELECT_EQUALS_WITH_SINGLE_TABLE_SQL);
assertDataSet("integrate/dataset/sharding/db/expect/select/SelectEqualsWithSingleTable_0.xml", new HintDatabaseShardingValueHelper(10), each.getValue().getConnection(), sql, each.getKey(), 10, 1000);
assertDataSet("integrate/dataset/sharding/db/expect/select/SelectEqualsWithSingleTable_1.xml", new HintDatabaseShardingValueHelper(12), each.getValue().getConnection(), sql, each.getKey(), 12, 1201);
assertDataSet("integrate/dataset/Empty.xml", new HintDatabaseShardingValueHelper(12), each.getValue().getConnection(), sql, each.getKey(), 12, 1000);
}
}
use of io.shardingjdbc.core.jdbc.core.datasource.ShardingDataSource in project sharding-jdbc by shardingjdbc.
the class ShardingDatabaseOnlyWithHintForDMLTest method assertInsertWithoutPlaceholder.
@Test
public void assertInsertWithoutPlaceholder() throws SQLException, DatabaseUnitException {
for (Map.Entry<DatabaseType, ShardingDataSource> each : shardingDataSources.entrySet()) {
for (int i = 1; i <= 10; i++) {
try (HintShardingValueHelper helper = new HintShardingValueHelper(i, i);
Connection connection = each.getValue().getConnection()) {
PreparedStatement preparedStatement = connection.prepareStatement(String.format(DatabaseTestSQL.INSERT_WITHOUT_PLACEHOLDER_SQL, i, i));
preparedStatement.executeUpdate();
}
}
assertDataSet(each.getValue().getConnection(), each.getKey(), "insert", "insert");
}
}
use of io.shardingjdbc.core.jdbc.core.datasource.ShardingDataSource in project sharding-jdbc by shardingjdbc.
the class ShardingDatabaseOnlyWithHintForDMLTest method assertInsertWithAllPlaceholders.
@Test
public void assertInsertWithAllPlaceholders() throws SQLException, DatabaseUnitException {
for (Map.Entry<DatabaseType, ShardingDataSource> each : shardingDataSources.entrySet()) {
for (int i = 1; i <= 10; i++) {
try (HintShardingValueHelper helper = new HintShardingValueHelper(i, i);
Connection connection = each.getValue().getConnection()) {
PreparedStatement preparedStatement = connection.prepareStatement(DatabaseTestSQL.INSERT_ORDER_WITH_ALL_PLACEHOLDERS_SQL);
preparedStatement.setInt(1, i);
preparedStatement.setInt(2, i);
preparedStatement.setString(3, "insert");
preparedStatement.executeUpdate();
}
}
assertDataSet(each.getValue().getConnection(), each.getKey(), "insert", "insert");
}
}
use of io.shardingjdbc.core.jdbc.core.datasource.ShardingDataSource in project sharding-jdbc by shardingjdbc.
the class OrchestrationSpringBootShardingTest method assertWithShardingDataSource.
@Test
public void assertWithShardingDataSource() throws NoSuchFieldException, IllegalAccessException {
assertTrue(dataSource instanceof ShardingDataSource);
Field field = ShardingDataSource.class.getDeclaredField("shardingContext");
field.setAccessible(true);
ShardingContext shardingContext = (ShardingContext) field.get(dataSource);
for (DataSource each : shardingContext.getDataSourceMap().values()) {
assertThat(((BasicDataSource) each).getMaxTotal(), is(16));
}
assertTrue(shardingContext.isShowSQL());
Map<String, Object> configMap = new ConcurrentHashMap<>();
configMap.put("key1", "value1");
assertThat(ConfigMapContext.getInstance().getShardingConfig(), is(configMap));
Field propertiesField = ShardingDataSource.class.getDeclaredField("shardingProperties");
propertiesField.setAccessible(true);
ShardingProperties shardingProperties = (ShardingProperties) propertiesField.get(dataSource);
assertTrue((Boolean) shardingProperties.getValue(ShardingPropertiesConstant.SQL_SHOW));
assertThat((Integer) shardingProperties.getValue(ShardingPropertiesConstant.EXECUTOR_SIZE), is(100));
}
use of io.shardingjdbc.core.jdbc.core.datasource.ShardingDataSource in project sharding-jdbc by shardingjdbc.
the class OrchestrationShardingMasterSlaveNamespaceTest method getDataSourceMap.
@SuppressWarnings("unchecked")
private Map<String, DataSource> getDataSourceMap() {
ShardingDataSource shardingDataSource = this.applicationContext.getBean("defaultShardingDataSource", ShardingDataSource.class);
Object shardingContext = FieldValueUtil.getFieldValue(shardingDataSource, "shardingContext", true);
return (Map) FieldValueUtil.getFieldValue(shardingContext, "dataSourceMap");
}
Aggregations