From d89ef43c4713adf26f74b796653d1dd15ff1f81a Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期三, 29 十一月 2023 16:37:47 +0800 Subject: [PATCH] 6 --- zt/core/src/main/java/com/zt/generator/data/DBUtil.java | 50 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 41 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..bf5686f 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; @@ -28,26 +26,60 @@ } return false; } + public static DataTable getTableList(Connection conn, boolean closeFlag) { + try { + DatabaseMetaData dbm = conn.getMetaData(); + String currentCatalog = conn.getCatalog(); + ResultSet rs = dbm.getTables(currentCatalog, null, null, null); + DataTable dt = new DataTable(rs); + return dt; + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (closeFlag && conn != null) { + try { + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + return null; + } public static DataTable getColumnInfo(Connection conn, String tableName, boolean closeFlag) { 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