diff --git a/src/main/java/com/rj/config/MybatisPlusConfig.java b/src/main/java/com/rj/config/MybatisPlusConfig.java
new file mode 100644
index 0000000..02ed62a
--- /dev/null
+++ b/src/main/java/com/rj/config/MybatisPlusConfig.java
@@ -0,0 +1,36 @@
+package com.rj.config;
+
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+/**
+ * MyBatis Plus 配置类
+ *
+ * @author 李中华
+ * @since 2025-08-08
+ */
+@Configuration
+@EnableTransactionManagement
+public class MybatisPlusConfig {
+
+ /**
+ * 分页插件配置
+ */
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor() {
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+
+ // 分页插件
+ interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
+
+ // 乐观锁插件
+ interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
+
+ return interceptor;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/rj/config/SqlPerformanceConfig.java b/src/main/java/com/rj/config/SqlPerformanceConfig.java
new file mode 100644
index 0000000..2e5b12d
--- /dev/null
+++ b/src/main/java/com/rj/config/SqlPerformanceConfig.java
@@ -0,0 +1,54 @@
+package com.rj.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Profile;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * SQL性能监控配置
+ *
+ * @author 李中华
+ * @since 2025-08-08
+ */
+@Slf4j
+@Configuration
+public class SqlPerformanceConfig {
+
+ /**
+ * SQL执行时间监控
+ */
+ @Bean
+ @Profile({"dev", "test"})
+ public SqlPerformanceInterceptor sqlPerformanceInterceptor() {
+ return new SqlPerformanceInterceptor();
+ }
+
+ /**
+ * SQL性能监控拦截器
+ */
+ public static class SqlPerformanceInterceptor {
+
+ private static final long SLOW_SQL_THRESHOLD = 1000; // 1秒
+
+ public void beforeExecute(String sql, Object[] params) {
+ log.info("=== SQL执行开始 ===");
+ log.info("SQL: {}", sql);
+ if (params != null && params.length > 0) {
+ log.info("参数: {}", java.util.Arrays.toString(params));
+ }
+ }
+
+ public void afterExecute(String sql, long executionTime) {
+ log.info("SQL执行完成,耗时: {}ms", executionTime);
+ if (executionTime > SLOW_SQL_THRESHOLD) {
+ log.warn("⚠️ 慢SQL警告: 执行时间 {}ms 超过阈值 {}ms", executionTime, SLOW_SQL_THRESHOLD);
+ }
+ log.info("=== SQL执行结束 ===\n");
+ }
+
+ public void onError(String sql, Exception e) {
+ log.error("SQL执行异常: {}", sql, e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/rj/controller/sys/MenuController.java b/src/main/java/com/rj/controller/sys/MenuController.java
new file mode 100644
index 0000000..528fc4c
--- /dev/null
+++ b/src/main/java/com/rj/controller/sys/MenuController.java
@@ -0,0 +1,307 @@
+package com.rj.controller.sys;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.rj.entity.sys.Menu;
+import com.rj.service.sys.IMenuService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * 菜单表 前端控制器
+ *
+ *
+ * @author 系统生成
+ * @since 2025-08-07
+ */
+@RestController
+@RequestMapping("/api/sys/menu")
+@Tag(name = "菜单管理", description = "菜单管理相关接口")
+public class MenuController {
+
+ @Autowired
+ private IMenuService menuService;
+
+ /**
+ * 新增菜单
+ */
+ @PostMapping("/add")
+ @Operation(summary = "新增菜单", description = "添加新的菜单信息")
+ public ResponseEntity