import java.sql.*; public class AllTenantMenus { 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 ylrz databases ==="); ResultSet rs = stmt.executeQuery("SHOW DATABASES"); java.util.List dbs = new java.util.ArrayList<>(); while (rs.next()) { String db = rs.getString(1); if (!db.startsWith("ylrz_saas")) continue; dbs.add(db); } for (String db : dbs) System.out.println(" " + db); System.out.println(); for (String db : dbs) { System.out.println("=== " + db + " ==="); System.out.print(" sys_menu (lobster 299xx):"); 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"); int n=0; while (rs.next()) { if (n%5==0) System.out.println(); System.out.printf(" %-6s %-20s %-48s %s\n", rs.getString(1), rs.getString(2), nvl(rs.getString(3)), rs.getString(4)); n++; } if (n==0) System.out.println(" none"); } catch (SQLException e) { System.out.println(" err: "+e.getMessage().split("\\n")[0]); } System.out.print(" company_menu (lobster 299xx):"); 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"); int n=0; while (rs.next()) { if (n%5==0) System.out.println(); System.out.printf(" %-6s %-20s %-48s %s\n", rs.getString(1), rs.getString(2), nvl(rs.getString(3)), rs.getString(4)); n++; } if (n==0) System.out.println(" none"); } catch (SQLException e) { System.out.println(" err: "+e.getMessage().split("\\n")[0]); } System.out.println(); } } } static String nvl(String s) { return s==null||s.isEmpty()?"(Dir)":s; } }