1. 项目背景与核心需求
作为一名经历过多次药品管理系统开发的Java工程师,我深知传统药品管理中的痛点。还记得去年帮朋友药店做系统升级时,他们还在用Excel表格记录库存,经常出现库存不准、过期药品未及时下架等问题。这正是我们开发这套基于SpringBoot的药品管理系统的初衷。
药品管理系统本质上是一个B/S架构的ERP系统,核心要解决三个问题:
- 库存管理数字化:实时跟踪药品进出库,避免人工记录错误
- 业务流程标准化:将采购、销售、库存管理等流程线上化
- 数据可视化:为管理者提供决策支持数据
提示:药品管理系统与普通商品管理系统的最大区别在于需要特别关注药品效期管理和GSP规范要求,这在数据库设计和业务流程中都需要重点考虑。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型与架构设计
2.1 技术栈决策
为什么选择SpringBoot+MyBatis这个经典组合?在多个医药行业项目验证后,我发现:
- SpringBoot:快速搭建、自动配置,特别适合毕业设计这类需要快速迭代的项目
- MyBatis:相比Hibernate更灵活,方便处理复杂的药品关联查询
- MySQL 5.7:事务完善且免费,8.0版本的新特性对中小型药品管理系统并非必需
- Bootstrap:响应式前端框架,一套代码适配药店电脑和移动设备
java复制// 典型的三层架构示例
@RestController
@RequestMapping("/api/drug")
public class DrugController {
@Autowired
private DrugService drugService;
@GetMapping("/{id}")
public Result<Drug> getById(@PathVariable Integer id) {
return Result.success(drugService.getById(id));
}
}
2.2 数据库设计要点
药品管理系统的数据库设计有几个特殊注意事项:
- 效期管理:必须包含生产日期、有效期字段,并建立定期检查的Job
- 批次追踪:同一药品不同
