From 2648cb33bf7c7b2f02ec2c20c0c8fc4cb379997a Mon Sep 17 00:00:00 2001 From: jmxd <838425805@qq.com> Date: Sat, 31 May 2025 08:33:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E8=A1=A8API=E4=B8=BB=E9=94=AE?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=BC=BA=E5=88=B6`String`=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../magicapi/modules/db/table/NamedTable.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/modules/db/table/NamedTable.java b/magic-api/src/main/java/org/ssssssss/magicapi/modules/db/table/NamedTable.java index 244eb5a0..2ae55bd0 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/modules/db/table/NamedTable.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/modules/db/table/NamedTable.java @@ -298,12 +298,12 @@ public class NamedTable extends Attributes { if (data != null) { data.forEach((key, value) -> this.columns.put(rowMapColumnMapper.apply(key), value)); } - String primaryValue = Objects.toString(this.columns.get(this.primary), ""); - if (StringUtils.isBlank(primaryValue) && data != null) { - primaryValue = Objects.toString(data.get(this.primary), ""); + Object primaryValue = this.columns.get(this.primary); + if (data != null && StringUtils.isBlank(Objects.toString(primaryValue, ""))) { + primaryValue = data.get(this.primary); } if (beforeQuery) { - if (StringUtils.isNotBlank(primaryValue)) { + if (primaryValue != null && StringUtils.isNotBlank(Objects.toString(primaryValue))) { List params = new ArrayList<>(); params.add(primaryValue); Integer count = sqlModule.selectInt(new BoundSql(runtimeContext, "select count(*) count from " + this.tableName + " where " + this.primary + " = ?", params, sqlModule)); @@ -316,7 +316,7 @@ public class NamedTable extends Attributes { } } - if (StringUtils.isNotBlank(primaryValue)) { + if (primaryValue != null && StringUtils.isNotBlank(Objects.toString(primaryValue, ""))) { return update(runtimeContext, data); } return insert(runtimeContext, data); @@ -425,7 +425,7 @@ public class NamedTable extends Attributes { params.addAll(where.getParams()); } else if (primaryValue != null) { builder.append(" where ").append(this.primary).append(" = ?"); - params.add(String.valueOf(primaryValue)); + params.add(primaryValue); } else { throw new MagicAPIException("主键值不能为空"); }