简化问题场景:
1、将表A的数据,导入到表B,表A中的字段UPDATETIME为datetime类型,下图为数据库展示值
2、将A表数据导出为JSON格式,此时数据中UPDATETIME都为时间戳,下图为JSON字符串展示值
3、将这笔JSON串,转化为Map<String,Object> ,然后插入表B时,报错
目前是处理很多表的数据传输,不是特定的表A与表B,也不是特定的UPDATETIME字段,可能datetime类型的字段有很多,大神们,这种情况有什么好的解决方式不 ?
当做字符串处理,数据库会自动转为datatime
可以再java转换一下
Date time = new Date(时间撮);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String current = sdf.format(time);
把这个字符串插入
你如果只是做数据迁移,而且在一个库,直接insert into select,没必要导出文件再导入!
插眼
```java
<select id="getDateTimeColumn" parameterType="java.lang.String" resultType="java.lang.String">
SELECT
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = ( SELECT DATABASE ( ) )
AND ( DATA_TYPE = 'datetime' OR DATA_TYPE = 'timestamp' OR DATA_TYPE = 'date' OR DATA_TYPE = 'time')
AND TABLE_NAME = #{tableName}
</select>
```