diff --git a/sharding-jdbc/sharding-jdbc-core/src/test/java/io/shardingsphere/dbtest/env/datasource/DataSourceUtil.java b/sharding-jdbc/sharding-jdbc-core/src/test/java/io/shardingsphere/dbtest/env/datasource/DataSourceUtil.java
index 26f22d0150241..6ab7a73c2719c 100644
--- a/sharding-jdbc/sharding-jdbc-core/src/test/java/io/shardingsphere/dbtest/env/datasource/DataSourceUtil.java
+++ b/sharding-jdbc/sharding-jdbc-core/src/test/java/io/shardingsphere/dbtest/env/datasource/DataSourceUtil.java
@@ -78,7 +78,7 @@ private static DataSource createDBCP(final DatabaseType databaseType, final Stri
result.setUrl(null == dataSourceName ? databaseEnvironment.getURL() : databaseEnvironment.getURL(dataSourceName));
result.setUsername(databaseEnvironment.getUsername());
result.setPassword(databaseEnvironment.getPassword());
- result.setMaxTotal(50);
+ result.setMaxTotal(5);
result.setValidationQuery("SELECT 1");
if (DatabaseType.Oracle == databaseType) {
result.setConnectionInitSqls(Collections.singleton("ALTER SESSION SET CURRENT_SCHEMA = " + dataSourceName));
@@ -93,7 +93,7 @@ private static DataSource createHikariCP(final DatabaseType databaseType, final
result.setJdbcUrl(null == dataSourceName ? databaseEnvironment.getURL() : databaseEnvironment.getURL(dataSourceName));
result.setUsername(databaseEnvironment.getUsername());
result.setPassword(databaseEnvironment.getPassword());
- result.setMaximumPoolSize(50);
+ result.setMaximumPoolSize(5);
result.setTransactionIsolation("TRANSACTION_READ_COMMITTED");
result.setConnectionTestQuery("SELECT 1");
if (DatabaseType.Oracle == databaseType) {
diff --git a/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/db/insert_multiple_values_for_order_1_2.xml b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/db/insert_multiple_values_for_order_1_2.xml
new file mode 100644
index 0000000000000..1ac071d3f06e5
--- /dev/null
+++ b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/db/insert_multiple_values_for_order_1_2.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/db/insert_on_duplicate_key_update.xml b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/db/insert_on_duplicate_key_update.xml
new file mode 100644
index 0000000000000..7f972b435eba0
--- /dev/null
+++ b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/db/insert_on_duplicate_key_update.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_masterslave/insert_multiple_values_for_order_1_2.xml b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_masterslave/insert_multiple_values_for_order_1_2.xml
new file mode 100644
index 0000000000000..3424f983feadf
--- /dev/null
+++ b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_masterslave/insert_multiple_values_for_order_1_2.xml
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_masterslave/insert_on_duplicate_key_update.xml b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_masterslave/insert_on_duplicate_key_update.xml
new file mode 100644
index 0000000000000..e4cc67d13e7de
--- /dev/null
+++ b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/dbtbl_with_masterslave/insert_on_duplicate_key_update.xml
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/masterslave/insert_on_duplicate_key_update.xml b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/masterslave/insert_on_duplicate_key_update.xml
new file mode 100644
index 0000000000000..0179c323703c3
--- /dev/null
+++ b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/masterslave/insert_on_duplicate_key_update.xml
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/tbl/insert_multiple_values_for_order_1_2.xml b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/tbl/insert_multiple_values_for_order_1_2.xml
new file mode 100644
index 0000000000000..bc938e65879da
--- /dev/null
+++ b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/tbl/insert_multiple_values_for_order_1_2.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/tbl/insert_on_duplicate_key_update.xml b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/tbl/insert_on_duplicate_key_update.xml
new file mode 100644
index 0000000000000..2562e40ccafcd
--- /dev/null
+++ b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dataset/tbl/insert_on_duplicate_key_update.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dml-integrate-test-cases.xml b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dml-integrate-test-cases.xml
index c866ed643d232..1efe4ae591e5e 100644
--- a/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dml-integrate-test-cases.xml
+++ b/sharding-jdbc/sharding-jdbc-core/src/test/resources/integrate/cases/dml/dml-integrate-test-cases.xml
@@ -17,11 +17,11 @@
-
+
-
+