diff --git a/src/main/java/com/mini/capi/utils/MysqlUtils.java b/src/main/java/com/mini/capi/utils/MysqlUtils.java index 6f884ca..727a1bf 100644 --- a/src/main/java/com/mini/capi/utils/MysqlUtils.java +++ b/src/main/java/com/mini/capi/utils/MysqlUtils.java @@ -9,9 +9,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.sql.*; import java.time.LocalDateTime; -import java.time.ZoneId; import java.util.*; -import java.util.Date; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -43,10 +41,6 @@ public class MysqlUtils { /** * 获取指定MySQL连接的所有非系统库表结构信息 * - * @param ip MySQL服务器IP - * @param port 端口(默认3306) - * @param username 用户名 - * @param password 密码 * @return 数据库名 -> 表信息列表(包含字段)的映射 * @throws Exception 连接或查询异常 */ @@ -135,7 +129,7 @@ public class MysqlUtils { private static List getFieldsByTable(Connection conn, String dbName, String tableName) throws SQLException { List fields = new ArrayList<>(); String fieldSql = "SELECT " + - "TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME, COLUMN_TYPE, COLUMN_COMMENT, " + + "TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,DATA_TYPE, COLUMN_TYPE, COLUMN_COMMENT, " + "ORDINAL_POSITION, CHARACTER_MAXIMUM_LENGTH " + "FROM COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? " + "ORDER BY ORDINAL_POSITION"; @@ -160,13 +154,12 @@ public class MysqlUtils { field.setDataSource(fieldRs.getString("TABLE_SCHEMA")); field.setDataName(fieldRs.getString("TABLE_NAME")); field.setFieldName(fieldRs.getString("COLUMN_NAME")); - String fieldType = fieldRs.getString("COLUMN_TYPE"); - field.setFieldType(fieldType); + field.setFieldType(fieldRs.getString("DATA_TYPE")); field.setFieldOrder(fieldRs.getInt("ORDINAL_POSITION")); field.setFieldRemark(fieldRs.getString("COLUMN_COMMENT")); Long length = fieldRs.getLong("CHARACTER_MAXIMUM_LENGTH"); if (length == 0 || fieldRs.wasNull()) { - length = extractLengthFromType(fieldType); + length = extractLengthFromType(fieldRs.getString("COLUMN_TYPE")); } field.setFieldLength(length); field.setCreateTime(LocalDateTime.now());