import java.sql.*; public class ExecuteBusinessSceneMenuScript { public static void main(String[] args) { String url = "jdbc:dm://192.168.0.145:30236?charset=utf8"; String username = "WATERSHED"; String password = "WaterShed./1224"; Connection conn = null; Statement stmt = null; try { Class.forName("dm.jdbc.driver.DmDriver"); conn = DriverManager.getConnection(url, username, password); stmt = conn.createStatement(); // 1. 添加业务场景管理子菜单 String menuSql = "INSERT INTO sys_menu VALUES (2027, '业务场景', 1, 10, 'businessScene', 'system/businessScene/index', '', 1, 0, 'C', '0', '0', 'system:businessScene:list', 'scene', 'admin', sysdate, '', NULL, '业务场景管理菜单')"; executeSql(stmt, menuSql, "业务场景管理菜单"); // 2. 添加按钮权限 String[] buttonSqls = { "INSERT INTO sys_menu VALUES (2028, '业务场景查询', 2027, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:businessScene:query', '#', 'admin', sysdate, '', NULL, '')", "INSERT INTO sys_menu VALUES (2029, '业务场景新增', 2027, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:businessScene:add', '#', 'admin', sysdate, '', NULL, '')", "INSERT INTO sys_menu VALUES (2030, '业务场景修改', 2027, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:businessScene:edit', '#', 'admin', sysdate, '', NULL, '')", "INSERT INTO sys_menu VALUES (2031, '业务场景删除', 2027, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:businessScene:remove', '#', 'admin', sysdate, '', NULL, '')", "INSERT INTO sys_menu VALUES (2032, '业务场景导出', 2027, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:businessScene:export', '#', 'admin', sysdate, '', NULL, '')" }; String[] buttonNames = {"查询", "新增", "修改", "删除", "导出"}; for (int i = 0; i < buttonSqls.length; i++) { executeSql(stmt, buttonSqls[i], "业务场景" + buttonNames[i] + "按钮"); } // 3. 给管理员角色分配权限 String[] roleMenuSqls = { "INSERT INTO sys_role_menu VALUES (1, 2027)", "INSERT INTO sys_role_menu VALUES (1, 2028)", "INSERT INTO sys_role_menu VALUES (1, 2029)", "INSERT INTO sys_role_menu VALUES (1, 2030)", "INSERT INTO sys_role_menu VALUES (1, 2031)", "INSERT INTO sys_role_menu VALUES (1, 2032)" }; executeSql(stmt, roleMenuSqls[0], "管理员角色分配业务场景菜单权限"); for (int i = 1; i < roleMenuSqls.length; i++) { executeSql(stmt, roleMenuSqls[i], "管理员角色分配业务场景" + buttonNames[i-1] + "权限"); } System.out.println("\n业务场景管理菜单配置完成!"); } catch (Exception e) { e.printStackTrace(); } finally { try { if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } private static void executeSql(Statement stmt, String sql, String desc) { try { stmt.execute(sql); System.out.println(desc + " - 成功"); } catch (SQLException e) { if (e.getErrorCode() == -2626) { System.out.println(desc + " - 已存在,跳过"); } else { System.out.println(desc + " - 失败: " + e.getMessage()); } } } }