功能需求:
相关存储数据,通过数据库存储,JDBC进行操作
总的来说,这个项目是图书管理系统I/O版的升级版,将i/o流存储数据改为数据库存储,主要是运用Mysql。
数据库设计
数据库名称:library
数据表名称 | 描述信息 | 状态 |
admin | 管理员信息 | 一直使用 |
book | 图书信息 | 一直使用 |
Booktype | 图书类型信息 | 一直使用 |
borrowbook | 用户借阅记录 | 一直使用 |
User | 操作员信息 | 一直使用 |
reader | 读者信息 | 一直使用 |
readertype | 读者类型信息 | 一直使用 |
将概念结构转换为逻辑结构:
1.Admin(id、name、password)
2.Book(ISBN、typeid、bookname、author、publish、publishdate、printtime、unitprice、count)
3.booktype(id、typename)
4.Borrowbook(count、readerid、ISBN、borrowdate、returndate、fine)
5.user(id、name、password、adminId)
6.reader(rederid、type、name、age、sex、phone、dept、regdate)
7.readertype(id、typename、maxborrownum、limit、fine)
代码实现
(错误:用户层应改为控制台/展示台)
1.Dao层(数据库访问层CRUD):
2. Entity(实体类):
注意:每一个实体类必须与mysql表属性一致,才不会报错
3.Interface(接口):
接口类中定义的方法由Dao层实现(CRUD)
4.Service(业务逻辑层,也就是功能的实现):
5.View(控制台,界面):
6.主界面(运行):
文档:
总结:
通过这次的项目,意识到了,在写项目之前,理好文档的重要性,不然就毫无流程可言,可能一下写这个,突然就变成另外一个,而且在测试方法时,就非常麻烦,没有顺序,越做越心烦。还有就是提前思考这个项目会出现什么样的BUG,在实现功能的 时候,尽量去避免,就比如,图书管理系统中,类型不可重复,借阅书籍的书编号ISBN和读者id在图书中/读者中都不可删除。
链接:https://pan.baidu.com/s/1IX7DDms4teM755Rht4IOQA
提取码:1234