Просмотр исходного кода

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

mxd 3 лет назад
Родитель
Сommit
2b73b200e4

+ 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语句")