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