若依框架是一款基于Spring Boot、MyBatis、Shiro等主流技术开发的Java后端框架,旨在帮助开发者快速搭建企业级中后台系统。本文将详细介绍如何在若依框架中新增菜单,帮助您轻松掌握这一操作技巧。
1. 准备工作
在开始新增菜单之前,请确保您已经:
- 安装了Java开发环境
- 安装了Maven或Gradle作为项目构建工具
- 创建了一个基于若依框架的项目
2. 新增菜单步骤
2.1 添加菜单实体
首先,在项目中创建一个新的实体类,用于存储菜单信息。以下是一个简单的菜单实体类示例:
package com.ry.common.core.domain.entity.system;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName("sys_menu")
public class SysMenu {
@TableId
private Long menuId;
private String menuName;
private Long parentId;
private String path;
private String component;
private Integer sort;
private String perms;
private String icon;
private Integer isLeaf;
}
2.2 添加菜单Mapper
在src/main/java/com/ry/common/core/mapper/system目录下创建一个SysMenuMapper接口,用于操作菜单数据:
package com.ry.common.core.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ry.common.core.domain.entity.system.SysMenu;
public interface SysMenuMapper extends BaseMapper<SysMenu> {
}
2.3 添加菜单Service
在src/main/java/com/ry/common/core/service/system目录下创建一个SysMenuService接口,以及对应的实现类SysMenuServiceImpl:
package com.ry.common.core.service.system;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ry.common.core.domain.entity.system.SysMenu;
public interface SysMenuService extends IService<SysMenu> {
}
package com.ry.common.core.service.system.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ry.common.core.mapper.system.SysMenuMapper;
import com.ry.common.core.service.system.SysMenuService;
import com.ry.common.core.domain.entity.system.SysMenu;
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements SysMenuService {
}
2.4 添加菜单Controller
在src/main/java/com/ry/project/system/menu目录下创建一个SysMenuController类,用于处理新增菜单的请求:
package com.ry.project.system.menu;
import com.ry.common.core.controller.BaseController;
import com.ry.common.core.domain.entity.system.SysMenu;
import com.ry.common.core.service.system.SysMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/system/menu")
public class SysMenuController extends BaseController {
@Autowired
private SysMenuService sysMenuService;
@PostMapping("/add")
public AjaxResult addMenu(@RequestBody SysMenu menu) {
// 添加菜单逻辑
}
}
2.5 添加菜单页面
在src/main/resources/templates/system/menu目录下创建一个名为add.html的页面,用于展示新增菜单的表单:
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('新增菜单')"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-menu-add">
<div class="form-group">
<label class="col-sm-3 control-label">菜单名称:</label>
<div class="col-sm-8">
<input id="menuName" name="menuName" class="form-control" type="text">
</div>
</div>
<!-- 其他表单项 -->
<div class="form-group">
<div class="form-group">
<div class="col-sm-offset-3 col-sm-9">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer"/>
<script type="text/javascript">
$(function () {
// 表单验证、提交等逻辑
});
</script>
</body>
</html>
2.6 添加菜单接口
在SysMenuController类中添加新增菜单的接口方法:
@PostMapping("/add")
public AjaxResult addMenu(@RequestBody SysMenu menu) {
// 调用service层方法添加菜单
}
2.7 测试新增菜单
完成以上步骤后,您可以在前端页面提交新增菜单的表单,测试新增菜单的功能。
3. 总结
通过以上步骤,您已经学会了如何在若依框架中新增菜单。在实际开发过程中,您可以根据需求调整菜单实体类、Service层、Controller层以及前端页面,以满足不同的业务需求。
