1、新增 “业务预览-数据保存”功能逻辑

2、修改保存数据解析sql的bug
This commit is contained in:
2019-06-13 17:45:17 +08:00
parent 60566a69c9
commit d40676f724
5 changed files with 54 additions and 28 deletions

View File

@@ -1,5 +1,6 @@
package net.tccn.dbq.jdbc.api;
import net.tccn.base.CfgException;
import net.tccn.base.Kv;
import java.sql.*;
@@ -154,8 +155,7 @@ public class DbSourceMysql implements DbSource {
ps.execute();
//ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
throw new CfgException("SQL 执行失败:", sql);
} finally {
release(connection);
}

View File

@@ -176,6 +176,8 @@ public class ParseMysql implements Parser {
String alias = mainTable.getAlias();
String[] pks = mainTable.pk();
// 异常 sql update `user2` set `aa.name`='null',`aa.deptId`='null',`aa.id`='null' where `id` = '1';
// 取出有效的数据key
List<String> keys = data.keySet()
.stream()
@@ -197,8 +199,8 @@ public class ParseMysql implements Parser {
StringBuffer vs = new StringBuffer();// `v1`,`v2`,`v3`, ...
for (String k : keys) {
ks.append(String.format("`%s`,", k));
vs.append(String.format("'%s',", data.get(alias + "." + k)));
ks.append(String.format("`%s`,", k.substring(k.indexOf(".") + 1)));
vs.append(String.format("'%s',", data.get(k)));
}
if (ks.length() > 0) {
ks.deleteCharAt(ks.length() - 1);
@@ -214,7 +216,7 @@ public class ParseMysql implements Parser {
String pk = pks[0];
for (String k : keys) {
kvs.append(String.format("`%s`='%s',", k, data.get(alias + "." + k)));
kvs.append(String.format("`%s`='%s',", k.substring(k.indexOf(".") + 1), data.get(k)));
}
if (kvs.length() > 0) {

View File

@@ -1,9 +1,6 @@
package net.tccn.service;
import net.tccn.base.JBean;
import net.tccn.base.Kv;
import net.tccn.base.MetaKit;
import net.tccn.base.PageBean;
import net.tccn.base.*;
import net.tccn.dbq.DbExecutors;
import net.tccn.dbq.fbean.FBean;
import org.redkale.net.http.HttpScope;
@@ -43,13 +40,15 @@ public class DataService extends BaseService {
}
@RestMapping(name = "save", comment = "数据保存")
public JBean save(String name, Map data, @RestParam(name = "platToken") String token) {
//MetaTable metaTable = MetaKit.getMetaTable(ks, token);
public JBean save(String name, Map<String, String> data, @RestParam(name = "platToken") String token) {
JBean jBean = new JBean();
try {
DbExecutors.save(name, data, token);
} catch (Exception e) {
throw new CfgException("保存数据失败");
}
//String sql = metaTable.buildSaveSql(data);
return null;
return jBean;
}
@Comment("数据导出excel")