CheckTables.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import java.sql.*;
  2. import java.util.*;
  3. public class CheckTables {
  4. public static void main(String[] args) {
  5. String url = "jdbc:dm://192.168.0.145:30236";
  6. String username = "WATERSHED";
  7. String password = "WaterShed./1224";
  8. try {
  9. // 加载DM JDBC驱动
  10. Class.forName("dm.jdbc.driver.DmDriver");
  11. // 建立数据库连接
  12. Connection conn = DriverManager.getConnection(url, username, password);
  13. System.out.println("数据库连接成功!");
  14. // 获取所有表名
  15. DatabaseMetaData metaData = conn.getMetaData();
  16. ResultSet tables = metaData.getTables(null, null, "%", new String[] {"TABLE"});
  17. List<String> menuTables = new ArrayList<>();
  18. List<String> roleTables = new ArrayList<>();
  19. while (tables.next()) {
  20. String tableName = tables.getString("TABLE_NAME");
  21. if (tableName.toUpperCase().contains("MENU")) {
  22. menuTables.add(tableName);
  23. }
  24. if (tableName.toUpperCase().contains("ROLE") && tableName.toUpperCase().contains("MENU")) {
  25. roleTables.add(tableName);
  26. }
  27. }
  28. System.out.println("包含MENU的表名:");
  29. for (String table : menuTables) {
  30. System.out.println(" " + table);
  31. }
  32. System.out.println("\n包含ROLE和MENU的表名:");
  33. for (String table : roleTables) {
  34. System.out.println(" " + table);
  35. }
  36. // 关闭连接
  37. conn.close();
  38. } catch (Exception e) {
  39. e.printStackTrace();
  40. }
  41. }
  42. }