瀏覽代碼

优化单表`API`中`insert`接口,在驱动不支持返回主键时返回设定的主键值。

mxd 3 年之前
父節點
當前提交
2b73b200e4
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      magic-api/src/main/java/org/ssssssss/magicapi/modules/db/table/NamedTable.java

+ 5 - 1
magic-api/src/main/java/org/ssssssss/magicapi/modules/db/table/NamedTable.java

@@ -258,7 +258,11 @@ public class NamedTable extends Attributes<Object> {
 		builder.append(") values (");
 		builder.append(StringUtils.join(Collections.nCopies(entries.size(), "?"), ","));
 		builder.append(")");
-		return sqlModule.insert(new BoundSql(runtimeContext, builder.toString(), entries.stream().map(Map.Entry::getValue).collect(Collectors.toList()), sqlModule), this.primary);
+		Object value = sqlModule.insert(new BoundSql(runtimeContext, builder.toString(), entries.stream().map(Map.Entry::getValue).collect(Collectors.toList()), sqlModule), this.primary);
+		if(value == null && StringUtils.isNotBlank(this.primary)){
+			return this.columns.get(this.primary);
+		}
+		return value;
 	}
 
 	@Comment("执行delete语句")