From b27d06b8f0b805efd16e28fd80a57a0ed8a053ce Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期三, 21 二月 2024 15:31:31 +0800
Subject: [PATCH] 修改

---
 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