AllTenantMenus.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import java.sql.*;
  2. public class AllTenantMenus {
  3. 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";
  4. static final String USER = "root";
  5. static final String PASS = "Ylrz_1q2w3e4r5t6y";
  6. public static void main(String[] args) throws Exception {
  7. Class.forName("com.mysql.cj.jdbc.Driver");
  8. try (Connection conn = DriverManager.getConnection(URL, USER, PASS);
  9. Statement stmt = conn.createStatement()) {
  10. System.out.println("=== ALL ylrz databases ===");
  11. ResultSet rs = stmt.executeQuery("SHOW DATABASES");
  12. java.util.List<String> dbs = new java.util.ArrayList<>();
  13. while (rs.next()) {
  14. String db = rs.getString(1);
  15. if (!db.startsWith("ylrz_saas")) continue;
  16. dbs.add(db);
  17. }
  18. for (String db : dbs) System.out.println(" " + db);
  19. System.out.println();
  20. for (String db : dbs) {
  21. System.out.println("=== " + db + " ===");
  22. System.out.print(" sys_menu (lobster 299xx):");
  23. try {
  24. 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");
  25. int n=0;
  26. while (rs.next()) {
  27. if (n%5==0) System.out.println();
  28. System.out.printf(" %-6s %-20s %-48s %s\n", rs.getString(1), rs.getString(2), nvl(rs.getString(3)), rs.getString(4));
  29. n++;
  30. }
  31. if (n==0) System.out.println(" none");
  32. } catch (SQLException e) {
  33. System.out.println(" err: "+e.getMessage().split("\\n")[0]);
  34. }
  35. System.out.print(" company_menu (lobster 299xx):");
  36. try {
  37. 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");
  38. int n=0;
  39. while (rs.next()) {
  40. if (n%5==0) System.out.println();
  41. System.out.printf(" %-6s %-20s %-48s %s\n", rs.getString(1), rs.getString(2), nvl(rs.getString(3)), rs.getString(4));
  42. n++;
  43. }
  44. if (n==0) System.out.println(" none");
  45. } catch (SQLException e) {
  46. System.out.println(" err: "+e.getMessage().split("\\n")[0]);
  47. }
  48. System.out.println();
  49. }
  50. }
  51. }
  52. static String nvl(String s) { return s==null||s.isEmpty()?"(Dir)":s; }
  53. }