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

news/2025/1/20 7:10:07/

介绍

基于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 刷新页面即刻查看

技术文档

  • 核心框架:Spring Boot
  • 持久层框架:MyBatis-Plus
  • 权限认证:Sa-Token
  • 前端框架: Layui
  • 数据库连接池:Alibaba Druid
  • 模板引擎:Thymeleaf
  • 阿里巴巴Java开发手册最新版下载

参与贡献

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

效果图

捐赠


http://www.ppmy.cn/news/1564612.html

相关文章

Markdown学习笔记(1)

一、Markdown预览 点击“显示并运行命令 >” 输入“Markdown”出现“打开侧边预览”选项可以预览效果。 二、Markdown 标题 Markdown 标题有两种格式。 1.和- 一级标题二级标题 -2.# # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题…

如何控制爬虫的速度来避免被屏蔽

在进行网络爬虫开发时,合理控制爬虫速度是确保爬虫可持续运行的关键。过快的爬取速度可能会触发目标网站的防护机制,导致 IP 被封禁或服务请求被阻断。以下是一些有效的方法来控制爬虫速度,从而避免被屏蔽。 一、设置请求头信息 通过设置合适…

卷积加法自注意力CASAtt详解及代码复现

自注意力机制简介 自注意力机制(Self-Attention)是一种 特殊的注意力机制 ,允许模型在处理序列数据时考虑每个元素与其他所有元素的关系。这种机制通过计算查询、键和值向量,帮助模型更好地理解序列中的上下文信息。自注意力机制的核心在于计算每个元素的权重,反映元素之…

Nginx三种不同类型的虚拟主机(基于域名、IP 和端口)

🏡作者主页:点击! Nginx-从零开始的服务器之旅专栏:点击! 🐧Linux高级管理防护和群集专栏:点击! ⏰️创作时间:2025年1月15日13点14分 目录 1. 基于域名的虚拟主机 …

指定 PG 启动端口

文章目录 修改配置文件通过 postmaster 或者 postgres 指定方法示例 通过 pg_ctl 参数执行方法示例 修改配置文件 echo "port5555" >> $PGDATA/postgresql.auto.conf su - postgres -c "pg_ctl start -D $PGDATA" su - postgres -c "pg_ctl st…

【PyCharm】远程连接Linux服务器

【PyCharm】相关链接 【PyCharm】连接Jupyter Notebook【PyCharm】快捷键使用【PyCharm】远程连接Linux服务器【PyCharm】设置为中文界面 【PyCharm】远程连接Linux服务器 PyCharm 提供了远程开发的功能,使得开发者可以在本地编辑代码或使用服务器资源。 下面将详…

【Linux网络编程】高效I/O--I/O的五种类型

目录 I/O的概念 网络通信的本质 I/O的本质 高效I/O 五种I/O模型 阻塞I/O 非阻塞I/O 信号驱动I/O 多路转接/多路复用I/O 异步I/O 非阻塞I/O的实现 I/O的概念 网络通信的本质 网络通信的本质其实就是I/O I:表示input(输入)O:表示ou…

基于python对抖音热门视频的数据分析与实现

1.1 研究背景 随着互联网技术的飞速发展,短视频平台已经成为人们日常生活中不可或缺的一部分。抖音作为其中的佼佼者,凭借其简洁的操作界面、丰富的视频内容和高效的推荐算法,吸引了大量用户。截至2022年底,抖音日活跃用户数已超…