package com.yuyu.controller;
import com.yuyu.entiry.Menu;
import com.yuyu.service.IMenuService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api(value = "菜单管理", tags = "菜单管理")
@RestController
@RequestMapping("/menu")
public class MenuController {
@Autowired
private IMenuService menuService;
@ApiOperation(value = "新增菜单信息", notes = "新增菜单信息")
@PostMapping("/add")
public BaseResponse add(@RequestBody Menu menu){
try {
menuService.save(menu);
return BaseResponse.success(menu);
}catch (Exception e){
e.printStackTrace();
return BaseResponse.fail(e.getMessage());
}
}
@ApiOperation(value = "删除菜单信息", notes = "删除菜单信息")
@DeleteMapping("/del/{id}")
public BaseResponse del(@PathVariable String id){
try {
menuService.removeById(id);
return BaseResponse.success(id);
}catch (Exception e){
e.printStackTrace();
return BaseResponse.fail(e.getMessage());
}
}
@ApiOperation(value = "编辑菜单信息", notes = "编辑菜单信息")
@PutMapping("/edit")
public BaseResponse edit(@RequestBody Menu menu){
try {
menuService.updateById(menu);
return BaseResponse.success(menu);
}catch (Exception e){
e.printStackTrace();
return BaseResponse.fail(e.getMessage());
}
}
@ApiOperation(value = "查询树结构菜单", notes = "查询树结构菜单")
@GetMapping("/getTree")
public BaseResponse getTree(){
try {
List<Menu> menus = menuService.treeList();
return BaseResponse.success(menus);
}catch (Exception e){
e.printStackTrace();
return BaseResponse.fail(e.getMessage());
}
}
}
springboot+mybatis-plus+gradle+mysql+swagger基础增删改查、树形查询
需积分: 0 97 浏览量
更新于2023-02-20
2
收藏 66KB ZIP 举报
在IT行业中,构建高效、可维护的Web应用是至关重要的。本项目基于一系列技术栈,包括Spring Boot、MyBatis Plus、Gradle、MySQL和Swagger,实现了一个基础的增删改查(CRUD)功能,并提供了树形查询的能力。下面将详细介绍这些技术及其在项目中的应用。
**1. Spring Boot**
Spring Boot是Spring框架的一个扩展,它简化了创建独立的、生产级别的基于Spring的应用程序。Spring Boot的核心特性包括自动配置、内嵌Web服务器(如Tomcat或Jetty)、健康检查以及启动器。在这个项目中,Spring Boot作为主框架,负责应用程序的启动、依赖管理和微服务的构建。
**2. MyBatis Plus**
MyBatis Plus是MyBatis的扩展,提供了一些便捷的操作,例如:免去编写大量SQL代码、支持Lambda形式的查询、自动化 CRUD 操作等。它简化了数据库操作,使得开发者可以更加专注于业务逻辑。在本项目中,MyBatis Plus用于处理数据库的增删改查,提供简单而高效的数据库访问。
**3. Gradle**
Gradle是一种强大的构建自动化工具,它可以替代Maven和Ant。Gradle以其灵活性和插件生态系统著称,允许开发者自定义构建流程。本项目采用Gradle进行依赖管理和构建,通过`build.gradle`文件定义项目依赖、构建规则和任务。
**4. MySQL**
MySQL是一款广泛使用的开源关系型数据库管理系统。它具有高并发性、高性能和易于管理的特点,适合处理大量的数据。在这个项目中,MySQL作为后端存储,承载了应用的数据。
**5. Swagger**
Swagger是用于设计、构建、文档化和使用RESTful Web服务的工具集。它通过注解API接口,生成交互式的API文档,方便开发者理解和测试。在本项目中,Swagger被用来生成和展示API接口文档,提高开发效率和用户体验。
**6. 树形查询**
树形查询是指在数据库中查询具有层级关系的数据,例如部门结构、菜单系统等。MyBatis Plus提供了树形查询的支持,可以通过递归方式或者父子ID关联方式实现。在本项目中,可能涉及到的树形查询场景如组织架构、分类目录等。
这个项目结合了现代Java开发的一系列最佳实践,提供了完整的Web应用解决方案,包括数据库操作、API设计、构建工具和文档生成。开发者可以通过学习和实践这个项目,掌握一套完整的前后端开发流程,提升自己的技术水平。