# 超市订单管理系统 **Repository Path**: chen-sm1/project ## Basic Information - **Project Name**: 超市订单管理系统 - **Description**: B站狂神说JAVA的超市订单管理系统SpringBoot版,已完成全部模块,附有启动说明和数据库文件 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 3 - **Created**: 2022-07-10 - **Last Updated**: 2025-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, smbms, JavaScript ## README ## 项目简介 - B站狂神说JAVA的smbms超市管理系统,用Springboot实现,前端使用JSP页面,已完成全部功能 ## 环境 * JDK 1.8 * Maven 3.6.0 * Spring Boot 2.3.7.RELEASE * Intellij IDEA 2021.3 * mysql 5.5.53 * 数据库账号 root 密码 root 数据表名称 smbms ## 运行准备 1. 注意,若为解压方式下载项目,应用idea打开project-master项目,而非外层的project-master文件夹,否则项目启动可能404 ![](https://gitee.com/chen-sm1/img-remote-warehouse/raw/master/image-20220801094158502.png) 2. 数据库导入smbms.sql文件 🔗[**mysql命令怎么导入sql文件**](https://www.imooc.com/article/325974) 3. application.properties文件配置数据库账户密码 4. 启动SmbmsApplication ## 完善(代码在分支v1.0处) ### A.shiro实现认证和授权 [B站楠哥学java shiro教程,讲解得很清晰😚](https://www.bilibili.com/video/BV16C4y187S9?p=1&vd_source=7729af6bf66a517f212a239deae09128) > 认证主要指登录验证,未登录时无法访问主页 > > 授权赋予用户权限或角色,可设置拥有对应权限(角色)的用户才能访问指定页面 1. 运行准备 1. 修改smbms_role表 id 1 --> roleName普通员工 id 2 --> roleName系统管理员 id 3 --> roleName经理 2. 修改前端后端有关增删改请求的路径 2. 权限说明 普通员工只能查看供应商,订单与用户数据;而系统管理员或经理可对数据进行增删查改, 若普通员工尝试增删改数据,提交了 1. 表单请求 重定向到权限不足页面 2. ajax请求 返回json数据,提示权限不足 ### B.用户头像上传与显示 1. 运行准备 1. 修改smbms_user表 添加icon属性varchar(50),用于存储头像路径 2. 修改前端head.jsp和useradd.jsp代码 2. 实现思路 1. 点击文件输入组件选择头像 2. 选择后触发ajax请求,向/fileupload发送图片数据 3. 后端接收到图片后,生成新的文件名,并将图片存储到本地,返回图片路径 4. ajax请求成功,获取到图片路径,设置图片路径后显示图片,同时将图片路径传入id为icon的输入组件,用于最后添加用户时,后端接收新用户的头像路径 ### C.SpringCache整合redis添加缓存 1. 导入SpringCache与redis依赖 ```xml org.springframework.boot spring-boot-starter-cache org.springframework.boot spring-boot-starter-data-redis ``` 2. 配置redis属性(也可不配置,使用默认的属性) ```yml spring: # redis配置 redis: host: 127.0.0.1 port: 6379 # password: 123456 database: 0 cache: redis: time-to-live: 1800000 # 缓存过期时间 1800000毫秒,即30分钟 ``` 3. 开启redis 进入redis目录,cmd 执行 redis-server redis.windows.conf 4. 在Service层方法上添加对应注解 1. 对于 根据条件查询数据以及数据数量 的方法,使用Cacheable添加缓存 2. 对于 增删改 方法,使用@CacheEvict清除所有缓存