# 仓库管理系统
**Repository Path**: yangshare/warehouseManager
## Basic Information
- **Project Name**: 仓库管理系统
- **Description**: 基于java web SSM框架的仓库管理系统。
后端:spring + springmvc + mybatis
前端:jsp + bootstrap
环境:jdk1.8 | mysql | maven
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: developer
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1041
- **Forks**: 266
- **Created**: 2018-02-08
- **Last Updated**: 2025-06-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Spring-MVC, MyBatis, Java
## README
# 基于SSM框架的仓库管理系统
## ✅ 分支说明
| 分支 | spring框架 | MySQL8.0 | MySQL5.7 | 登录验证码 |
|----|----------|----------|----------|----------|
| dev-springboot | springboot | ✅ | ✅ | ✅ |
| developer | springmvc | ✅ | ✅ | ✅ |
| 去登录验证码 | springmvc | ✅ | ✅ | ❎ |
| MySQL5.7 | springmvc | ❎ | ✅ | ✅ |
## ✅ 非常紧急的问题或功能定制可以关注公众号->发消息:仓库管理
> 
## 计划
- [x] 录制idea启动系统演示视频(价值:很多初学者需要)
- [x] 数据库驱动兼容8.0,兼容MySQL5.7的旧代码放在分支mysql5.7(价值:应届毕业生80%以上默认用的MySQL8.0+)
- [x] springmvc迁移到springboot(价值:应届毕业生80%以上默认用的springboot框架),见【dev-springboot】分支

## ⭕ 视频-IDEA导入+运行项目演示
> [基于SSM框架的仓库管理系统演示.mp4](/video/基于SSM框架的仓库管理系统演示.mp4)
## 📋 功能
* 系统操作权限管理。系统提供基本的登入登出功能,同时系统包含两个角色:系统超级管理员和普通管理员,超级管理员具有最高的操作权限,而普通管理员仅具有最基本的操作权限,而且仅能操作自己被指派的仓库。
* 请求URL鉴权。对于系统使用者登陆后进行操作发送请求的URL,后台会根据当前用户的角色判断是否拥有请求该URL的权限。
* 基础数据信息管理。对包括:货物信息、供应商信息、客户信息、仓库信息在内的基础数据信息进行管理,提供的操作有:添加、删除、修改、条件查询、导出为Excel和到从Excel导入。
* 仓库管理员管理。对仓库管理员信息CRUD操作,或者为指定的仓库管理员指派所管理的仓库。上述中的仓库管理员可以以普通管理员身份登陆到系统。
* 库存信息管理。对库存信息的CRUD操作,导入导出操作,同时查询的时候可以根据仓库以及商品ID等信息进行多条件查询。
* 基本仓库事务操作。执行货物的入库与出库操作。
* 系统登陆日志查询。超级管理员可以查询某一用户在特定时间段内的系统登陆日志。
* 系统操作日志查询。超级管理员可以查询某一用户在特定时间段内对系统进行操作的操作记录。、
* 密码修改。
## ✳️ 使用到的框架和库
* Apache POI
* MyBatis
* Spring Framework
* Spring MVC
* Apache Shiro
* Ehcache
* Apache Commons
* Log4j
* Slf4j
* Jackson
* C3P0
* Junit
* MySQL-Connector
* jQuery
* Bootstrap
## ✴️ 登陆系统方式
用户ID : 1001
密码 :123456

加密代码
```
// 用户密码(wms_user.USER_PASSWORD)加密规则
String tempStr = MD5Util.MD5("123456");// 第一次对密码进行加密
String encryptPassword = MD5Util.MD5(tempStr + "1001");// 第二次对密码进行加密
//存入数据库的加密密码
System.out.println(encryptPassword);
```
新增用户默认密码为用户ID(比如新增一个用户ID为1012,密码也为1012)
## 📚 JDK版本
### jdk 1.8
## 📚 数据库版本
### MySQL 8.0+
查看版本号命令如下:
> MySQL> select version();
## ⭐ 数据库关系图

## 📚 部分截图








## 📚 常见问题
#### ①中文乱码

解决方式:数据库连接后面加上编码方式jdbc.url = jdbc:mysql:///192.168.X.X:3306\WMS_DB?useUnicode=true&characterEncoding=utf8
## 👍 支持
- If the project is very helpful to you, you can buy the author a cup of coffee☕.
- 如果这个项目对您有帮助,可以请作者喝杯咖啡哟☕
|支付宝 | 微信|
| :--------: | :--------:|
| | |