基于SpringBoot + Thymeleaf + Layui + Apache Shiro + Redis + Mybatis Plus 的后台管理系统数据库源码分享
基于SpringBoot + Thymeleaf + Layui + Apache Shiro + Redis + Mybatis Plus 的后台管理系统数据库支持 MySQL、Oracle、sqlServer 等主流数据库提供代码生成器,基本增删改查无需编写,可快速完成开发任务。后台接口RESTful 风格,支持前后端分离,可与app公用一套接口。开发最精简,可当脚手架,适合你来 DIY
特征
- 后台接口RESTful 风格,支持前后端分离,可与app公用一套接口
- 采用RBAC的权限控制
- 统一响应结果封装及生成工具
- 统一异常处理
- Shiro + Redis 实现 Token 角色权限认证
- 使用Druid Spring Boot Starter 集成Druid数据库连接池与监控
- 集成MyBatis-Plus,实现单表业务零SQL
- 支持多数据源,自由切换,只需方法或类上用 @DS 切换数据源
- 集成国人风格的knife4j,自动生成接口文档
- 提供代码生成器(MySQL、Oracle、sqlServer等主流数据库),生成从Html到Mapper,爽歪歪
代码仓库
开发文档&项目演示
- 开发文档:
- 演示地址:
- 账号密码:guest/123456
- 带宽1m 不太给力 请见谅
开发建议
- Model内成员变量建议与表字段数量对应,如需扩展成员变量(比如连表查询)建议创建VO,否则需在扩展的成员变量上加@TableField(exist = false)
- 如果表有是否删除字段,需要在Model注解@TableLogic 默认1未删 0删除, 或@TableLogic(value="逻辑未删除值",delval="逻辑删除值")
- 数据库建表时主键请统一格式: id varchar(50) 类型; 列名请勿使用mysql关键字
- 建议业务失败直接使用throw new BusinessException("ErrorMessage")抛出,由统一异常处理器来封装业务失败的响应结果,会直接被封装为{"code":500002,"message":"ErrorMessage"}返回,尽情抛出;
- token支持header跟query传参形式,如:ajax中设置header:beforeSend: function(request) {request.setRequestHeader("authorization", "有效的token");}query:?authorization=有效的token
使用说明
- 使用IDE导入本项目,IDE需要安装lombok插件
- 下载redis 启动redis
- 创建数据库, 导入***.sql
- 配置application-dev.yml中的redis以及数据库连接
- 运行项目直接运行CompanyProjectApplication.java项目根目录下执行mvn -X clean package -Dmaven.test.skip=true编译打包,然后执行java -jar manager.jar
- 接口文档访问
- 登录地址 用户名密码:admin/123456
- 代码生成使用application.yml中配置: 使用代码生成模块时 指定要生成的表存在于哪种数据库。project.database=mysql点击[代码生成]菜单,生成一个或多个表的代码,下载到本地解压下载的代码,直接复制main文件夹到本地项目的src目录下数据库执行sql,生成菜单点击[角色管理]菜单,修改角色所绑定的菜单的权限,刷新页面查看
技术文档
- 核心框架:Spring Boot
- 前端框架: Layui
- 持久层框架:MyBatis-Plus
- 分页:Page
- 数据库连接池:Alibaba Druid
- 安全框架:Apache Shiro
- 缓存框架:Redis
- 接口文档:Knife4j
- 模板引擎:Thymeleaf
- 阿里巴巴Java开发手册最新版下载
参与贡献
- Fork 本项目
- 新建 feature_xxx 分支
- 提交代码
- 提交 Pull Request
菜单
- 组织管理菜单权限管理角色管理用户管理部门管理
- 系统管理代码生成文件管理文章管理字典管理定时任务日志管理
- 其他系统信息表单构建SQL监控接口管理
效果图
源码获取方式:点赞+关注,加助理VX:mxx2020666