Quellcode durchsuchen

新增批量insert

zhouhao vor 8 Jahren
Ursprung
Commit
d84323576c

+ 17 - 0
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/form/DynamicFormServiceImpl.java

@@ -41,6 +41,7 @@ import java.io.OutputStream;
 import java.sql.JDBCType;
 import java.sql.SQLException;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * Created by zhouhao on 16-4-14.
@@ -201,6 +202,22 @@ public class DynamicFormServiceImpl implements DynamicFormService, ExpressionSco
         return pk;
     }
 
+    @Override
+    @ReadLock
+    @LockName(value = "'form.lock.'+#name", isExpression = true)
+    public List<String> insert(String name, List<Map<String, Object>> dataList) throws SQLException {
+        Table table = getTableByName(name);
+        String primaryKeyName = getPrimaryKeyName(name);
+        List<String> idList = new ArrayList<>();
+        dataList.forEach(data -> {
+            String pk = GenericPo.createUID();
+            data.put(primaryKeyName, pk);
+            idList.add(pk);
+        });
+        table.createInsert().values(dataList).exec();
+        return idList;
+    }
+
     @Override
     public String saveOrUpdate(String name, Map<String, Object> data) throws SQLException {
         String id = (String) data.get(getPrimaryKeyName(name));

+ 6 - 4
hsweb-web-service-interface/src/main/java/org/hsweb/web/service/form/DynamicFormService.java

@@ -18,11 +18,11 @@ public interface DynamicFormService {
 
     Database getDefaultDatabase();
 
-    TableMetaData parseMeta(Form form) ;
+    TableMetaData parseMeta(Form form);
 
     void deploy(Form form) throws SQLException;
 
-    void unDeploy(Form form) ;
+    void unDeploy(Form form);
 
     <T> PagerResult<T> selectPager(String name, QueryParam param) throws SQLException;
 
@@ -30,7 +30,9 @@ public interface DynamicFormService {
 
     int total(String name, QueryParam param) throws SQLException;
 
-    String insert(String name,Map<String, Object> data) throws SQLException;
+    String insert(String name, Map<String, Object> data) throws SQLException;
+
+    List<String> insert(String name, List<Map<String, Object>> dataList) throws SQLException;
 
     String saveOrUpdate(String name, Map<String, Object> map) throws SQLException;
 
@@ -48,5 +50,5 @@ public interface DynamicFormService {
 
     void exportExcel(String name, QueryParam param, OutputStream outputStream) throws Exception;
 
-    Map<String, Object> importExcel(String name, InputStream inputStream) ;
+    Map<String, Object> importExcel(String name, InputStream inputStream);
 }