修改同步数据库接口 修改字段注释信息,类型,排序同步

pull/62/head
luozuanshi 4 years ago
parent d04a93d75d
commit 60acd607a9

@ -7,6 +7,7 @@ import java.io.StringWriter;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@ -286,7 +287,6 @@ public class GenTableServiceImpl implements IGenTableService
{
GenTable table = genTableMapper.selectGenTableByName(tableName);
List<GenTableColumn> tableColumns = table.getColumns();
List<String> tableColumnNames = tableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
if (StringUtils.isEmpty(dbTableColumns))
@ -295,12 +295,21 @@ public class GenTableServiceImpl implements IGenTableService
}
List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
Map<String, GenTableColumn> tableColumnsMap = tableColumns.stream().collect(Collectors.toMap(GenTableColumn::getColumnName, GenTableColumn->GenTableColumn, (key1,key2)->key2));
dbTableColumns.forEach(column -> {
if (!tableColumnNames.contains(column.getColumnName()))
if (!equalColumInfo(tableColumnsMap,column))
{
GenUtils.initColumnField(column, table);
GenTableColumn tableColumn = tableColumnsMap.get(column.getColumnName());
if (tableColumn!=null) {
column.setColumnId(tableColumn.getColumnId());
genTableColumnMapper.updateGenTableColumn(column);
}else {
genTableColumnMapper.insertGenTableColumn(column);
}
}
});
List<GenTableColumn> delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList());
@ -308,6 +317,27 @@ public class GenTableServiceImpl implements IGenTableService
{
genTableColumnMapper.deleteGenTableColumns(delColumns);
}
}
/**
*
* @param tableColumnsMap
* @param column
* @return ture information_schema false information_schema
*/
private boolean equalColumInfo(Map<String, GenTableColumn> tableColumnsMap, GenTableColumn column) {
String columnName = column.getColumnName();
GenTableColumn tableColumns = tableColumnsMap.get(columnName);
if (tableColumns==null) {
return false;
}
return Objects.equals(column.getColumnName(), tableColumns.getColumnName()) &&
Objects.equals(column.getColumnComment(), tableColumns.getColumnComment()) &&
Objects.equals(column.getColumnType(), tableColumns.getColumnType()) &&
Objects.equals(column.getSort(), tableColumns.getSort()) &&
Objects.equals(column.getIsPk(), tableColumns.getIsPk()) &&
Objects.equals(column.getIsIncrement(), tableColumns.getIsIncrement());
}
/**

@ -93,6 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update gen_table_column
<set>
column_comment = #{columnComment},
column_type = #{columnType},
java_type = #{javaType},
java_field = #{javaField},
is_insert = #{isInsert},

Loading…
Cancel
Save