更新数据同步

This commit is contained in:
2025-11-17 17:10:25 +08:00
parent fbd01ad1da
commit 2933b7ac36
10 changed files with 28 additions and 30 deletions

View File

@@ -110,7 +110,7 @@ public class jobController {
dataTableFieldService.save(tableField);
}
dataTableInfoService.save(tableInfo);
logger.info("已同步数据库:", tableInfo.getDataSource(), ",数据表:", tableInfo.getTableName(), ",总计:", tableFields.size(), "个字段");
logger.info("已同步数据库:", tableInfo.getDataSource(), ",数据表:", tableInfo.getDataName(), ",总计:", tableFields.size(), "个字段");
}
} catch (Exception e) {
logger.error(e.getMessage());

View File

@@ -51,8 +51,8 @@ public class DataTableField implements Serializable {
/**
* 数据表名称
*/
@TableField("table_name")
private String tableName;
@TableField("data_name")
private String dataName;
/**
* 字段序号(表示字段在表中的顺序)

View File

@@ -40,8 +40,8 @@ public class DataTableInfo implements Serializable {
/**
* 数据表名称
*/
@TableField("table_name")
private String tableName;
@TableField("data_name")
private String dataName;
/**
* 数据表描述

View File

@@ -29,7 +29,7 @@ public class demo {
.pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir") + "/src/main/resources/mapper"));
})
.strategyConfig(builder -> {
builder.addInclude("biz_db_config")
builder.addInclude("data_table_info,data_table_field")
.addTablePrefix("biz_,erp_")
.entityBuilder()
.enableLombok()

View File

@@ -97,7 +97,7 @@ public class MysqlUtils {
try (ResultSet tableRs = tablePs.executeQuery()) {
while (tableRs.next()) {
DataTableInfo tableInfo = buildDataTableInfo(tableRs, dbName);
List<DataTableField> fields = getFieldsByTable(conn, dbName, tableInfo.getTableName());
List<DataTableField> fields = getFieldsByTable(conn, dbName, tableInfo.getDataName());
fields.forEach(field -> field.setTableId(tableInfo.getTableId()));
tableInfos.add(tableInfo);
}
@@ -112,7 +112,7 @@ public class MysqlUtils {
private static DataTableInfo buildDataTableInfo(ResultSet tableRs, String dbName) throws SQLException {
DataTableInfo tableInfo = new DataTableInfo();
tableInfo.setTableId(vId.getUid());
tableInfo.setTableName(tableRs.getString("TABLE_NAME"));
tableInfo.setDataName(tableRs.getString("TABLE_NAME"));
tableInfo.setTableComment(tableRs.getString("TABLE_COMMENT"));
long dataLength = tableRs.getLong("DATA_LENGTH");
long indexLength = tableRs.getLong("INDEX_LENGTH");
@@ -162,7 +162,7 @@ public class MysqlUtils {
DataTableField field = new DataTableField();
field.setFieldId(vId.getUid());
field.setDataSource(fieldRs.getString("TABLE_SCHEMA"));
field.setTableName(fieldRs.getString("TABLE_NAME"));
field.setDataName(fieldRs.getString("TABLE_NAME"));
field.setFieldName(fieldRs.getString("COLUMN_NAME"));
String fieldType = fieldRs.getString("COLUMN_TYPE");
field.setFieldType(fieldType);
@@ -202,7 +202,7 @@ public class MysqlUtils {
for (Map.Entry<String, List<DataTableInfo>> entry : schemaInfo.entrySet()) {
for (DataTableInfo tableInfo : entry.getValue()) {
tableInfo.setDbId(dbConfig.getId());
List<DataTableField> dataTableFields = getFieldsByTable(conn, entry.getKey(), tableInfo.getTableName());
List<DataTableField> dataTableFields = getFieldsByTable(conn, entry.getKey(), tableInfo.getDataName());
dataTableFields.stream().forEach(tableField -> tableField.setTableId(tableInfo.getTableId()));
tableTrees.add(new TableTree(tableInfo, dataTableFields));
}

View File

@@ -18,7 +18,7 @@ public class SqlUtils {
public static String CreateTableSql(DataTableInfo tableInfo, List<DataTableField> fieldList) {
StringBuilder sb = new StringBuilder();
// 表定义开始
sb.append("CREATE TABLE ").append(tableInfo.getTableName()).append(" (\n");
sb.append("CREATE TABLE ").append(tableInfo.getDataName()).append(" (\n");
// 拼接字段定义
for (int i = 0; i < fieldList.size(); i++) {
DataTableField field = fieldList.get(i);
@@ -69,16 +69,15 @@ public class SqlUtils {
public static String SelectSqlComments(DataTableInfo tableInfo, List<DataTableField> fieldList) {
StringBuilder sb = new StringBuilder();
// 表注释
sb.append("-- 表名:").append(tableInfo.getTableName()).append("\n");
sb.append("-- 表名:").append(tableInfo.getDataName()).append("\n");
sb.append("-- 描述:").append(tableInfo.getTableComment() != null ? tableInfo.getTableComment() : "").append("\n");
sb.append("-- 数据来源:").append(tableInfo.getDataSource() != null ? tableInfo.getDataSource() : "未知").append("\n");
// SELECT语句开始
sb.append("SELECT\n");
// 拼接字段(带注释)
for (int i = 0; i < fieldList.size(); i++) {
DataTableField field = fieldList.get(i);
sb.append(" ").append(field.getFieldName()).append("");
sb.append(" ").append(field.getFieldName());
// 字段注释
if (field.getFieldRemark() != null && !field.getFieldRemark().isEmpty()) {
sb.append(" -- ").append(field.getFieldRemark());
@@ -89,10 +88,8 @@ public class SqlUtils {
}
sb.append("\n");
}
// 表名
sb.append("FROM ").append(tableInfo.getTableName()).append(";");
sb.append("FROM ").append(tableInfo.getDataName()).append(";");
return sb.toString();
}
}