From 3c5f905195128d33760911aed7b9bb86f086ee56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=8D=9A?= Date: Thu, 22 Feb 2024 10:32:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BE=BE=E6=A2=A6=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E6=96=B9=E8=A8=80=E7=9A=84upsert=E5=AE=8C=E6=88=90=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hutool-db/pom.xml | 6 ++++ .../cn/hutool/db/dialect/impl/DmDialect.java | 2 +- .../src/test/java/cn/hutool/db/DmTest.java | 36 +++++++++++++++++++ .../src/test/resources/config/db.setting | 8 +++++ 4 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 hutool-db/src/test/java/cn/hutool/db/DmTest.java diff --git a/hutool-db/pom.xml b/hutool-db/pom.xml index 74ddf44cc..50f44c10a 100755 --- a/hutool-db/pom.xml +++ b/hutool-db/pom.xml @@ -178,5 +178,11 @@ 0.5.0 test + + com.dameng + DmJdbcDriver18 + 8.1.2.141 + test + diff --git a/hutool-db/src/main/java/cn/hutool/db/dialect/impl/DmDialect.java b/hutool-db/src/main/java/cn/hutool/db/dialect/impl/DmDialect.java index 8b035cbcc..5239dbd41 100644 --- a/hutool-db/src/main/java/cn/hutool/db/dialect/impl/DmDialect.java +++ b/hutool-db/src/main/java/cn/hutool/db/dialect/impl/DmDialect.java @@ -17,7 +17,7 @@ import java.util.List; /** * 达梦数据库方言 * - * @author wubo + * @author wb04307201 */ public class DmDialect extends AnsiSqlDialect { private static final long serialVersionUID = 3415348435502927423L; diff --git a/hutool-db/src/test/java/cn/hutool/db/DmTest.java b/hutool-db/src/test/java/cn/hutool/db/DmTest.java new file mode 100644 index 000000000..8b59ac8a9 --- /dev/null +++ b/hutool-db/src/test/java/cn/hutool/db/DmTest.java @@ -0,0 +1,36 @@ +package cn.hutool.db; + +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +import java.sql.SQLException; + +/** + * 达梦数据库单元测试 + * + * @author wb04307201 + */ +public class DmTest { + + private static final String DS_GROUP_NAME = "dm"; + + @BeforeClass + public static void init() throws SQLException { + Db db = Db.use(DS_GROUP_NAME); + db.execute("CREATE TABLE test(a INTEGER, b INTEGER)"); + + db.insert(Entity.create("test").set("a", 1).set("b", 11)); + db.insert(Entity.create("test").set("a", 2).set("b", 21)); + db.insert(Entity.create("test").set("a", 3).set("b", 31)); + db.insert(Entity.create("test").set("a", 4).set("b", 41)); + } + + @Test + public void upsertTest() throws SQLException { + Db db = Db.use(DS_GROUP_NAME); + db.upsert(Entity.create("test").set("a", 1).set("b", 111), "a"); + Entity a1 = db.get("test", "a", 1); + Assert.assertEquals(Long.valueOf(111), a1.getLong("b")); + } +} diff --git a/hutool-db/src/test/resources/config/db.setting b/hutool-db/src/test/resources/config/db.setting index cf91af97f..bcef23fbb 100644 --- a/hutool-db/src/test/resources/config/db.setting +++ b/hutool-db/src/test/resources/config/db.setting @@ -69,3 +69,11 @@ url = jdbc:sqlserver://looly.database.chinacloudapi.cn:1433;database=test;encryp user = looly@looly pass = 123 remarks = true + +# 测试用dm数据库 +[dm] +url = jdbc:dm://127.0.0.1:30236/schema=dm8_test +user = SYSDBA +pass = SYSDBA001 +remarks = true +