1、adapter/rdb,从库表字段(varchar,char,text,longtext)非空约束时,无法同步问题修正

2、主库存在0000-00-00 00:00:00时间时,从库表字段是非空约束时,无法同步问题修正
This commit is contained in:
jiucheng
2019-02-20 10:10:14 +08:00
parent 8cadd585c6
commit f7e490f7a0
2 changed files with 11 additions and 9 deletions

View File

@@ -68,7 +68,13 @@ public class JdbcTypeUtil {
}
public static Object typeConvert(String columnName, String value, int sqlType, String mysqlType) {
if (value == null || value.equals("")) {
if (value == null
|| (value.equals("")
&& !("longtext".equals(mysqlType)
|| "text".equals(mysqlType)
|| sqlType == Types.CHAR
|| sqlType == Types.VARCHAR
|| sqlType == Types.LONGVARCHAR))) {
return null;
}
@@ -118,10 +124,8 @@ public class JdbcTypeUtil {
value = value.trim().replace(" ", "T");
DateTime dt = new DateTime(value);
res = new Date(dt.toDate().getTime());
} else {
res = null;
break;
}
break;
case Types.TIME:
value = "T" + value;
DateTime dt = new DateTime(value);
@@ -132,10 +136,8 @@ public class JdbcTypeUtil {
value = value.trim().replace(" ", "T");
dt = new DateTime(value);
res = new Timestamp(dt.toDate().getTime());
} else {
res = null;
break;
}
break;
case Types.CLOB:
default:
res = value;

View File

@@ -200,7 +200,7 @@ public class SyncUtil {
DateTime dt = new DateTime(v);
pstmt.setDate(i, new Date(dt.toDate().getTime()));
} else {
pstmt.setNull(i, type);
pstmt.setObject(i, value);
}
} else {
pstmt.setNull(i, type);
@@ -232,7 +232,7 @@ public class SyncUtil {
DateTime dt = new DateTime(v);
pstmt.setTimestamp(i, new Timestamp(dt.toDate().getTime()));
} else {
pstmt.setNull(i, type);
pstmt.setObject(i, value);
}
} else {
pstmt.setNull(i, type);