1. 图书管理 — ISBN/书名/作者搜索,增删改查,库存实时追踪
2. 读者管理 — 借书证管理,院系/电话信息维护
3. 借阅管理 — 借书(自动30天借期)、还书、超期罚款(0.5元/天)
4. 统计分析 — 分类统计、出版社分布、超期未还清单
5. 数据导出 — 所有表格支持CSV导出,Excel可直接打开
整体采用MVC三层架构:model实体类(Book/Reader/Borrow)、dao数据访问层(JDBC直连)、ui界面层(Swing)。数据库支持MySQL/H2双模式,启动时自动检测,MySQL不可用时降级为H2嵌入式数据库,零配置即可运行。
我独立完成全部开发。负责:数据库表设计与SQL编写、DBHelper连接池与双数据库切换逻辑、5个Swing面板的UI布局与美化(统一靛蓝主题色系)、借书时的库存校验与读者限额校验、还书超期天数计算与罚款展示、登录密码MD5加密。
难点1:Windows系统LookAndFeel会覆盖Swing按钮背景色。解决:所有按钮统一设置setContentAreaFilled(false)+setOpaque(true)强制渲染自定义颜色。
难点2:H2嵌入式数据库不支持SQL的MD5()函数。解决:将MD5计算移到Java端,用MessageDigest做哈希。