import java.sql.*; /** * Query lobster menus from master + tenant DB for init script alignment. * Usage: java -cp ".;lib/mysql-connector-j-8.0.33.jar" QueryLobsterMenus [tenantDb] */ public class QueryLobsterMenus { private static final String HOST = "cq-cdb-8fjmemkb.sql.tencentcdb.com:27220"; private static final String USER = "root"; private static final String PASS = "Ylrz_1q2w3e4r5t6y"; private static final String MASTER = "ylrz_saas"; public static void main(String[] args) throws Exception { Class.forName("com.mysql.cj.jdbc.Driver"); String tenantDb = args.length > 0 ? args[0] : "fs_tenant_cs1"; dump("MASTER tenant_sys_menu", MASTER, "tenant_sys_menu"); dump("MASTER tenant_company_menu", MASTER, "tenant_company_menu"); dump("TENANT sys_menu", tenantDb, "sys_menu"); dump("TENANT company_menu (company_id=338)", tenantDb, "company_menu", " AND company_id=338"); } private static void dump(String label, String db, String table) throws Exception { dump(label, db, table, ""); } private static void dump(String label, String db, String table, String extra) throws Exception { System.out.println("\n======== " + label + " ========"); String sql = "SELECT menu_id, menu_name, parent_id, order_num, path, component, visible, status " + "FROM " + table + " WHERE menu_id=29900 OR parent_id=29900" + extra + " ORDER BY parent_id, order_num, menu_id"; try (Connection c = open(db); Statement st = c.createStatement(); ResultSet rs = st.executeQuery(sql)) { while (rs.next()) { System.out.printf("[%d] parent=%d order=%d vis=%s | %s | %s | %s%n", rs.getLong("menu_id"), rs.getLong("parent_id"), rs.getInt("order_num"), rs.getString("visible"), rs.getString("menu_name"), rs.getString("path"), rs.getString("component")); } } } private static Connection open(String db) throws Exception { return DriverManager.getConnection( "jdbc:mysql://" + HOST + "/" + db + "?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=utf8", USER, PASS); } }