import java.sql.*; public class FindCs1 { static final String URL = "jdbc:mysql://cq-cdb-8fjmemkb.sql.tencentcdb.com:27220/ylrz_saas?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false"; static final String USER = "root"; static final String PASS = "Ylrz_1q2w3e4r5t6y"; public static void main(String[] args) throws Exception { Class.forName("com.mysql.cj.jdbc.Driver"); try (Connection conn = DriverManager.getConnection(URL, USER, PASS); Statement stmt = conn.createStatement()) { System.out.println("=== ALL databases containing 'cs1' ==="); ResultSet rs = stmt.executeQuery("SHOW DATABASES LIKE '%cs1%'"); while (rs.next()) System.out.println(" " + rs.getString(1)); System.out.println("\n=== ALL ylrz_saas databases ==="); rs = stmt.executeQuery("SHOW DATABASES LIKE 'ylrz_saas%'"); java.util.List dbs = new java.util.ArrayList<>(); while (rs.next()) { String d = rs.getString(1); dbs.add(d); System.out.println(" " + d); } System.out.println("\n=== Top 3 tenant DBs with full lobster menus ==="); int n = 0; for (String db : dbs) { if (n >= 3) break; if (db.equals("ylrz_saas")) continue; System.out.println("\n========== " + db + " =========="); try { rs = stmt.executeQuery("SELECT menu_id, menu_name, component, CASE visible WHEN '0' THEN 'SHOW' ELSE 'HIDE' END AS vis FROM "+db+".sys_menu WHERE menu_id BETWEEN 29900 AND 29999 AND menu_type IN ('M','C') ORDER BY order_num"); System.out.println(" ID Name Component Vis"); System.out.println(" ------- -------------------- ------------------------------------------------ ----"); while (rs.next()) System.out.printf(" %-7s %-20s %-48s %s\n", rs.getString(1), rs.getString(2), nv(rs.getString(3)), rs.getString(4)); } catch (SQLException e) { System.out.println(" err: "+e.getMessage().split("\\n")[0]); } try { rs = stmt.executeQuery("SELECT menu_id, menu_name, component, CASE visible WHEN '0' THEN 'SHOW' ELSE 'HIDE' END AS vis FROM "+db+".company_menu WHERE menu_id BETWEEN 29900 AND 29999 AND menu_type IN ('M','C') ORDER BY order_num"); System.out.println(" --- company_menu ---"); while (rs.next()) System.out.printf(" %-7s %-20s %-48s %s\n", rs.getString(1), rs.getString(2), nv(rs.getString(3)), rs.getString(4)); } catch (SQLException e) { System.out.println(" err: "+e.getMessage().split("\\n")[0]); } n++; } // Count total tenant DBs int cnt = 0; for (String db : dbs) if (!db.equals("ylrz_saas")) cnt++; System.out.println("\nTotal tenant DBs: " + cnt); } } static String nv(String s) { return s==null||s.isEmpty()?"(Dir)":s; } }