From a18e21c4c1c1074b999ce7b70da5572b81129324 Mon Sep 17 00:00:00 2001 From: inrgihc Date: Mon, 20 Nov 2023 22:45:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=B5=8B=E8=AF=95=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dbswitch/dbswitch-release/conf/application.yml | 2 +- .../dbswitch/admin/entity/AssignmentConfigEntity.java | 7 ++++--- .../gitee/dbswitch/admin/entity/AssignmentJobEntity.java | 3 ++- .../gitee/dbswitch/admin/entity/AssignmentTaskEntity.java | 7 ++++--- .../dbswitch/admin/entity/DatabaseConnectionEntity.java | 2 +- .../com/gitee/dbswitch/admin/entity/SystemLogEntity.java | 3 ++- dbswitch-admin/src/main/resources/application.yml | 2 +- .../src/main/resources/application_sample_mysql.yml | 2 +- .../src/main/resources/application_sample_postgres.yml | 2 +- .../product/mongodb/MongodbTableDataWriteProvider.java | 6 +++++- 10 files changed, 22 insertions(+), 14 deletions(-) diff --git a/build-docker/dbswitch/dbswitch-release/conf/application.yml b/build-docker/dbswitch/dbswitch-release/conf/application.yml index bd0e402e..1b21cd61 100644 --- a/build-docker/dbswitch/dbswitch-release/conf/application.yml +++ b/build-docker/dbswitch/dbswitch-release/conf/application.yml @@ -28,7 +28,7 @@ mybatis: lazy-loading-enabled: true aggressive-lazy-loading: false map-underscore-to-camel-case: true - #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl dbswitch: configuration: diff --git a/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentConfigEntity.java b/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentConfigEntity.java index 02ba4658..0dbb6871 100644 --- a/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentConfigEntity.java +++ b/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentConfigEntity.java @@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.gitee.dbswitch.admin.handler.ListPatternHandler; import com.gitee.dbswitch.admin.handler.ListTypeHandler; import com.gitee.dbswitch.common.entity.PatternMapper; import com.gitee.dbswitch.common.type.CaseConvertEnum; @@ -30,7 +31,7 @@ import org.apache.ibatis.type.EnumTypeHandler; @Builder @NoArgsConstructor @AllArgsConstructor -@TableName("DBSWITCH_ASSIGNMENT_CONFIG") +@TableName(value = "DBSWITCH_ASSIGNMENT_CONFIG", autoResultMap = true) public class AssignmentConfigEntity { @TableId(value = "id", type = IdType.AUTO) @@ -66,10 +67,10 @@ public class AssignmentConfigEntity { @TableField(value = "column_name_case", typeHandler = EnumTypeHandler.class) private CaseConvertEnum columnNameCase; - @TableField(value = "table_name_map") + @TableField(value = "table_name_map", typeHandler = ListPatternHandler.class) private List tableNameMap; - @TableField(value = "column_name_map") + @TableField(value = "column_name_map", typeHandler = ListPatternHandler.class) private List columnNameMap; @TableField("target_drop_table") diff --git a/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentJobEntity.java b/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentJobEntity.java index 67988cd8..b20207a9 100644 --- a/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentJobEntity.java +++ b/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentJobEntity.java @@ -19,6 +19,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import org.apache.ibatis.type.JdbcType; @Data @Builder @@ -48,7 +49,7 @@ public class AssignmentJobEntity { @TableField("status") private Integer status; - @TableField("error_log") + @TableField(value = "error_log", jdbcType = JdbcType.LONGVARCHAR, insertStrategy = FieldStrategy.NOT_NULL, updateStrategy = FieldStrategy.NOT_NULL) private String errorLog; @TableField(value = "create_time", insertStrategy = FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER) diff --git a/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentTaskEntity.java b/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentTaskEntity.java index 65348a01..49747974 100644 --- a/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentTaskEntity.java +++ b/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/AssignmentTaskEntity.java @@ -21,12 +21,13 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import org.apache.ibatis.type.EnumTypeHandler; +import org.apache.ibatis.type.JdbcType; @Data @Builder @NoArgsConstructor @AllArgsConstructor -@TableName("DBSWITCH_ASSIGNMENT_TASK") +@TableName(value = "DBSWITCH_ASSIGNMENT_TASK", autoResultMap = true) public class AssignmentTaskEntity { @TableId(value = "id", type = IdType.AUTO) @@ -35,13 +36,13 @@ public class AssignmentTaskEntity { @TableField("name") private String name; - @TableField("description") + @TableField(value = "description") private String description; @TableField(value = "schedule_mode", typeHandler = EnumTypeHandler.class) private ScheduleModeEnum scheduleMode; - @TableField("cron_expression") + @TableField(value = "cron_expression", jdbcType = JdbcType.LONGVARCHAR, insertStrategy = FieldStrategy.NOT_NULL, updateStrategy = FieldStrategy.NOT_NULL) private String cronExpression; @TableField("published") diff --git a/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/DatabaseConnectionEntity.java b/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/DatabaseConnectionEntity.java index 47cc6ae4..b9fc9be6 100644 --- a/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/DatabaseConnectionEntity.java +++ b/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/DatabaseConnectionEntity.java @@ -26,7 +26,7 @@ import org.apache.ibatis.type.EnumTypeHandler; @Builder @NoArgsConstructor @AllArgsConstructor -@TableName("DBSWITCH_DATABASE_CONNECTION") +@TableName(value = "DBSWITCH_DATABASE_CONNECTION", autoResultMap = true) public class DatabaseConnectionEntity { @TableId(value = "id", type = IdType.AUTO) diff --git a/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/SystemLogEntity.java b/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/SystemLogEntity.java index 1847a823..008850c4 100644 --- a/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/SystemLogEntity.java +++ b/dbswitch-admin/src/main/java/com/gitee/dbswitch/admin/entity/SystemLogEntity.java @@ -19,6 +19,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import org.apache.ibatis.type.JdbcType; @Data @Builder @@ -54,7 +55,7 @@ public class SystemLogEntity { @TableField("failed") private Boolean failed; - @TableField("exception") + @TableField(value = "exception", jdbcType = JdbcType.LONGVARCHAR, insertStrategy = FieldStrategy.NOT_NULL, updateStrategy = FieldStrategy.NOT_NULL) private String exception; @TableField("elapse_seconds") diff --git a/dbswitch-admin/src/main/resources/application.yml b/dbswitch-admin/src/main/resources/application.yml index 906775bb..2ccba5a0 100644 --- a/dbswitch-admin/src/main/resources/application.yml +++ b/dbswitch-admin/src/main/resources/application.yml @@ -28,7 +28,7 @@ mybatis: lazy-loading-enabled: true aggressive-lazy-loading: false map-underscore-to-camel-case: true - #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl dbswitch: configuration: diff --git a/dbswitch-admin/src/main/resources/application_sample_mysql.yml b/dbswitch-admin/src/main/resources/application_sample_mysql.yml index 906775bb..2ccba5a0 100644 --- a/dbswitch-admin/src/main/resources/application_sample_mysql.yml +++ b/dbswitch-admin/src/main/resources/application_sample_mysql.yml @@ -28,7 +28,7 @@ mybatis: lazy-loading-enabled: true aggressive-lazy-loading: false map-underscore-to-camel-case: true - #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl dbswitch: configuration: diff --git a/dbswitch-admin/src/main/resources/application_sample_postgres.yml b/dbswitch-admin/src/main/resources/application_sample_postgres.yml index ee5c30f3..d0e56ffb 100644 --- a/dbswitch-admin/src/main/resources/application_sample_postgres.yml +++ b/dbswitch-admin/src/main/resources/application_sample_postgres.yml @@ -28,7 +28,7 @@ mybatis: lazy-loading-enabled: true aggressive-lazy-loading: false map-underscore-to-camel-case: true - #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl dbswitch: configuration: diff --git a/dbswitch-product/dbswitch-product-mongodb/src/main/java/com/gitee/dbswitch/product/mongodb/MongodbTableDataWriteProvider.java b/dbswitch-product/dbswitch-product-mongodb/src/main/java/com/gitee/dbswitch/product/mongodb/MongodbTableDataWriteProvider.java index 00d4c533..865acdd9 100644 --- a/dbswitch-product/dbswitch-product-mongodb/src/main/java/com/gitee/dbswitch/product/mongodb/MongodbTableDataWriteProvider.java +++ b/dbswitch-product/dbswitch-product-mongodb/src/main/java/com/gitee/dbswitch/product/mongodb/MongodbTableDataWriteProvider.java @@ -73,7 +73,11 @@ public class MongodbTableDataWriteProvider extends DefaultTableDataWriteProvider for (Object[] row : recordValues) { Map columns = new LinkedHashMap<>(fieldCount); for (int i = 0; i < fieldCount; ++i) { - columns.put(fieldNames.get(i), row[i]); + if (row[i] != null && row[i].getClass().getName().equals("org.bson.types.ObjectId")) { + columns.put(fieldNames.get(i), String.valueOf(row[i])); + } else { + columns.put(fieldNames.get(i), row[i]); + } } rows.add(columns); }