ListMenus2.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import java.sql.*;
  2. public class ListMenus2 {
  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. // Full tenant_company_menu - grouped by parent
  11. System.out.println("========== tenant_company_menu (companyui - ALL) ==========");
  12. String sql = "SELECT m1.order_num, m1.menu_id, m1.menu_name, m1.component, m1.visible, " +
  13. "m1.menu_type, COALESCE(m2.menu_name,'ROOT') AS parent_name " +
  14. "FROM tenant_company_menu m1 LEFT JOIN tenant_company_menu m2 ON m1.parent_id = m2.menu_id " +
  15. "ORDER BY COALESCE(m2.order_num,0), m2.menu_id, m1.order_num, m1.menu_id";
  16. dump(stmt, sql);
  17. System.out.println("\n========== tenant_sys_menu (mgnui - ALL) ==========");
  18. sql = "SELECT m1.order_num, m1.menu_id, m1.menu_name, m1.component, m1.visible, " +
  19. "m1.menu_type, COALESCE(m2.menu_name,'ROOT') AS parent_name " +
  20. "FROM tenant_sys_menu m1 LEFT JOIN tenant_sys_menu m2 ON m1.parent_id = m2.menu_id " +
  21. "ORDER BY COALESCE(m2.order_num,0), m2.menu_id, m1.order_num, m1.menu_id";
  22. dump(stmt, sql);
  23. }
  24. }
  25. static void dump(Statement s, String sql) throws SQLException {
  26. try (ResultSet rs = s.executeQuery(sql)) {
  27. System.out.printf("%-6s %-28s %-45s %-5s %-4s %s\n", "ID", "Name", "Component", "Vis", "Type", "Parent");
  28. System.out.println("------ ---------------------------- --------------------------------------------- ----- ---- -----");
  29. while (rs.next()) {
  30. String vis = "0".equals(rs.getString("visible")) ? "SHOW" : "HIDE";
  31. String tp = "M".equals(rs.getString("menu_type")) ? "Dir" : "C".equals(rs.getString("menu_type")) ? "Pg" : "Btn";
  32. System.out.printf("%-6s %-28s %-45s %-5s %-4s %s\n",
  33. rs.getString("menu_id"), rs.getString("menu_name"),
  34. nvl(rs.getString("component"),28), vis, tp, rs.getString("parent_name"));
  35. }
  36. }
  37. }
  38. static String nvl(String s, int n) { if(s==null||s.isEmpty()) return "(Dir)"; if(s.length()>n) return s.substring(0,n-3)+"..."; return s; }
  39. }