From e9d51762bf342f3f9b542ef0214ed41a6ff7d679 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期二, 07 十一月 2023 13:58:45 +0800 Subject: [PATCH] Changes --- zt/core/src/main/java/com/zt/generator/data/DBUtil.java | 30 +++++++++++++++++++++--------- 1 files changed, 21 insertions(+), 9 deletions(-) diff --git a/zt/core/src/main/java/com/zt/generator/data/DBUtil.java b/zt/core/src/main/java/com/zt/generator/data/DBUtil.java index d9d6eca..1bc6b4f 100644 --- a/zt/core/src/main/java/com/zt/generator/data/DBUtil.java +++ b/zt/core/src/main/java/com/zt/generator/data/DBUtil.java @@ -6,10 +6,8 @@ import org.springframework.jdbc.core.JdbcTemplate; -import java.sql.Connection; -import java.sql.DatabaseMetaData; -import java.sql.ResultSet; -import java.sql.SQLException; +import java.sql.*; +import java.util.HashMap; import java.util.Map; public class DBUtil { @@ -18,7 +16,7 @@ try { DatabaseMetaData dbm = conn.getMetaData(); String currentCatalog = conn.getCatalog(); - String[] types = { "TABLE" }; + String[] types = {"TABLE"}; ResultSet tabs = dbm.getTables(currentCatalog, null, tableName, types); if (tabs.next()) { return true; @@ -33,21 +31,35 @@ try { DatabaseMetaData dbm = conn.getMetaData(); String currentCatalog = conn.getCatalog(); + + Map<String, String> mapDict = new HashMap<>(); + String sql = "SELECT * FROM sys_dict_type WHERE is_delete=0"; + PreparedStatement preparedStatement = conn.prepareStatement(sql); + ResultSet resultSet = preparedStatement.executeQuery(); + while (resultSet.next()) { + String dictType = resultSet.getString("DICT_TYPE"); + mapDict.put(dictType, dictType); + } + ResultSet rs = dbm.getColumns(currentCatalog, null, tableName, null); - DataTable dt = new DataTable(rs); - - rs = dbm.getPrimaryKeys(currentCatalog, null, tableName); DataTable keyDt = new DataTable(rs); Map map = keyDt.toMap("Column_Name", "PK_Name"); dt.insertColumn("isKey"); + dt.insertColumn("dictType"); for (int i = 0; i < dt.getRowCount(); i++) { DataRow dr = dt.getDataRow(i); - if (map.containsKey(dr.getString("Column_Name"))) { + String columnName = dr.getString("Column_Name"); + if (map.containsKey(columnName)) { dr.set("isKey", "Y"); } else { dr.set("isKey", "N"); } + if (mapDict.get(columnName) != null) { + dr.set("dictType", columnName); + } else { + dr.set("dictType", ""); + } } return dt; } catch (Exception e) { -- Gitblit v1.9.1