基于SpringBoot + Mybatis Plus + SaToken + Thymeleaf + Layui的后台管理系统

介绍

基于SpringBoot + Mybatis Plus + SaToken + Thymeleaf + Layui的后台管理系统

接入Sa-Token,支持菜单权限 数据库支持 MySQL、Oracle、sqlServer 等主流数据库

提供代码生成器,基本增删改查无需编写,可快速完成开发任务。

后台接口RESTful 风格,支持前后端分离,可与app公用一套接口。

开发最精简,可当脚手架,适合你来 DIY
如果喜欢,防止您迷路, 请尽快Star项目。多了您的支持,更多了一份动力!感谢~

特征

  • 后台接口RESTful 风格,支持前后端分离,可与app公用一套接口
  • 采用RBAC的权限控制
  • 统一响应结果封装及生成工具 统一异常处理
  • 拥抱Sa-Token 实现角色权限认证,让鉴权变得简单、优雅!
  • 使用Druid Spring Boot Starter 集成Druid数据库连接池与监控
  • 集成MyBatis-Plus,实现单表业务零SQL
  • 支持多数据源,自由切换,只需方法或类上用 @DS 切换数据源
  • 集成国人风格的knife4j,自动生成接口文档
  • 提供代码生成器(MySQL、Oracle、sqlServer等主流数据库),生成从Html到Mapper,爽歪歪

开发文档&项目演示

  • 账号密码:guest/123456

代码结构

复制代码
├─main
│  ├─java
│  │  └─com
│  │      └─company
│  │          └─project
│  │              ├─CompanyProjectApplication.java 项目启动类
│  │              ├─common      公共资源,如注解、切面、全局异常处理、组件集成、通用工具类等
│  │              ├─controller  Controler层
│  │              ├─entity      实体类
│  │              ├─mapper      DAO层
│  │              ├─service     Service层
│  │              │  └─impl     Service层实现
│  └─resources
│      ├── application-dev.yml  开发环境配置文件
│      ├── application-test.yml 测试环境配置文件
│      ├── application-prod.yml 生产环境配置文件
│      ├── application.yml      通用配置文件
│      ├── logback-spring.xml   日志配置文件
│      ├─mapper                 Mybatis XML文件
│      ├─static                 静态文件
│      │  ├─css                 通用css文件
│      │  ├─images              静态图片
│      │  ├─js                  通用js文件
│      │  ├─layui               layui库
│      │  └─layui-ext           layui插件库
│      ├─template               代码生成模版
│      └─templates              项目页面目录
│          ├─depts              部门管理
│          ├─error              错误页面
│          ├─generator          代码生成管理
│          ├─logs               日志管理
│          ├─menus              菜单管理
│          ├─roles              角色管理
│          ├─syscontent         内容管理
│          ├─sysdict            字典管理
│          ├─sysfiles           文件管理
│          └─users              用户管理
└─test
    └─java
        └─com
            └─company
                └─project
                    ├── CompanyFrameApplicationTests.java 单元测试

开发建议

  • Model内成员变量建议与表字段数量对应,如需扩展成员变量(比如连表查询)建议创建VO,否则需在扩展的成员变量上加@TableField(exist = false)
  • 建议业务失败直接使用throw new BusinessException("ErrorMessage")抛出,由统一异常处理器来封装业务失败的响应结果,会直接被封装为{"code":500002,"message":"ErrorMessage"}返回,尽情抛出;
  • 数据库基础字段:id(bigint)、remark(varchar)、unable_flag(tinyint)、deleted(tinyint)、create_id(bigint)、update_id(bigint)、create_time(datetime)、update_time(datetime)

使用说明

  • 使用IDE导入本项目,IDE需要安装lombok插件
  • 创建数据库, 如mysql数据库导入mysql.sql
  • 配置application-dev.yml中的数据库连接
  • 运行项目
    1. 直接运行CompanyProjectApplication.java
    2. 项目根目录下执行mvn -X clean package -Dmaven.test.skip=true编译打包,然后执行java -jar manager.jar
  • 登录地址 http://localhost:8080/manager/index/login 用户名密码:admin/123456
  • 代码生成使用
    1. 逻辑删除字段,请统一用deleted字段: 1未删 0已删; 主键请统一格式: id varchar(50) 类型; 列名请勿使用数据库关键字
    2. application.yml中配置: 使用代码生成模块时 指定要生成的表存在于哪种数据库。project.database=mysql
    3. 点击[代码生成]菜单,生成一个或多个表的代码,下载到本地
    4. 解压下载的代码,直接复制main文件夹到本地项目的src目录下
    5. 数据库执行sql,生成菜单
    6. admin 刷新页面即刻查看

技术文档

参与贡献

  1. Fork 本项目
  2. 新建 feature_xxx 分支
  3. 提交代码
  4. 提交 Pull Request

效果图

捐赠

相关推荐
JH30737 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
qq_124987075310 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_10 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
2301_8187320610 小时前
前端调用控制层接口,进不去,报错415,类型不匹配
java·spring boot·spring·tomcat·intellij-idea
汤姆yu14 小时前
基于springboot的尿毒症健康管理系统
java·spring boot·后端
暮色妖娆丶14 小时前
Spring 源码分析 单例 Bean 的创建过程
spring boot·后端·spring
biyezuopinvip15 小时前
基于Spring Boot的企业网盘的设计与实现(任务书)
java·spring boot·后端·vue·ssm·任务书·企业网盘的设计与实现
JavaGuide15 小时前
一款悄然崛起的国产规则引擎,让业务编排效率提升 10 倍!
java·spring boot
figo10tf16 小时前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
zhangyi_viva16 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端