|
@@ -91,10 +91,8 @@ public class RdbEtlService extends AbstractEtlService {
|
|
|
insertSql.append("INSERT INTO ")
|
|
|
.append(SyncUtil.getDbTableName(dbMapping, dataSource.getDbType()))
|
|
|
.append(" (");
|
|
|
- columnsMap.forEach((targetColumnName, srcColumnName) -> insertSql.append(backtick)
|
|
|
- .append(targetColumnName)
|
|
|
- .append(backtick)
|
|
|
- .append(","));
|
|
|
+ columnsMap
|
|
|
+ .forEach((targetColumnName, srcColumnName) -> insertSql.append(backtick).append(targetColumnName).append(backtick).append(","));
|
|
|
|
|
|
int len = insertSql.length();
|
|
|
insertSql.delete(len - 1, len).append(") VALUES (");
|
|
@@ -118,7 +116,7 @@ public class RdbEtlService extends AbstractEtlService {
|
|
|
Map<String, Object> pkVal = new LinkedHashMap<>();
|
|
|
StringBuilder deleteSql = new StringBuilder(
|
|
|
"DELETE FROM " + SyncUtil.getDbTableName(dbMapping, dataSource.getDbType()) + " WHERE ");
|
|
|
- appendCondition(dbMapping, deleteSql, pkVal, rs);
|
|
|
+ appendCondition(dbMapping, deleteSql, pkVal, rs, backtick);
|
|
|
try (PreparedStatement pstmt2 = connTarget.prepareStatement(deleteSql.toString())) {
|
|
|
int k = 1;
|
|
|
for (Object val : pkVal.values()) {
|
|
@@ -136,7 +134,6 @@ public class RdbEtlService extends AbstractEtlService {
|
|
|
}
|
|
|
|
|
|
Integer type = columnType.get(targetClolumnName.toLowerCase());
|
|
|
-
|
|
|
Object value = rs.getObject(srcColumnName);
|
|
|
if (value != null) {
|
|
|
SyncUtil.setPStmt(type, pstmt, value, i);
|
|
@@ -184,7 +181,7 @@ public class RdbEtlService extends AbstractEtlService {
|
|
|
* 拼接目标表主键where条件
|
|
|
*/
|
|
|
private static void appendCondition(DbMapping dbMapping, StringBuilder sql, Map<String, Object> values,
|
|
|
- ResultSet rs) throws SQLException {
|
|
|
+ ResultSet rs, String backtick) throws SQLException {
|
|
|
// 拼接主键
|
|
|
for (Map.Entry<String, String> entry : dbMapping.getTargetPk().entrySet()) {
|
|
|
String targetColumnName = entry.getKey();
|
|
@@ -192,7 +189,7 @@ public class RdbEtlService extends AbstractEtlService {
|
|
|
if (srcColumnName == null) {
|
|
|
srcColumnName = targetColumnName;
|
|
|
}
|
|
|
- sql.append(targetColumnName).append("=? AND ");
|
|
|
+ sql.append(backtick).append(targetColumnName).append(backtick).append("=? AND ");
|
|
|
values.put(targetColumnName, rs.getObject(srcColumnName));
|
|
|
}
|
|
|
int len = sql.length();
|