前言
本文是介绍本人在编写图书管理系统项目过程当中的一些心得体会,以及对所学知识的简单应用。本项目是与我发的第二个小项目图书管理系统一样,只是上次采用的是IO流,这次使用的是数据库,由于本人学习的数据库为MySQL,因此本项目采用MySQL。
目录
一、图书管理系统简介
- 长期以来,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较烦琐。在借书时,读者首先将要借的书和借阅证交给工作人员,然后工作人员将每本书的信息卡片和读者的借阅证放在一个小格栏里,最后在借阅证和每本书贴的借阅条上填写借阅信息。在还书时,读者首先将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息。太过于繁琐了!所以,我们需求设计一个图书管理系统来方便学生的借书和图书馆管理书籍。
- 本系统在项目3基础上进行重构操作,调整了基本流程,增加了管理员和操作员不同角色的操作图书馆的功能。
- 本系统首先需要进行登录或者注册,根据不同身份操作不同的功能。
- 管理员主要负责对操作员的基本信息管理和相关逾期金额的设定和查看。
- 操作员主要负责对读者的信息进行管理和相关图书进行管理。
- 本项目还会利于数据库进行数据的读取和存储。
二、项目编写过程中所遇到的问题及解决
这个项目是两个人编写的,由我和我的小伙伴一起完成, shmilyche的博客_秋风&_CSDN博客-进制转换领域博主,因此各位也可以自己进行合作处理,且本系统不考虑多线程并发问题。
- 首先呢就是应该明确整个项目的逻辑,设计好要用到的类,接口,方法等等,有一个大致的思路在前。
例如我们设计的主要分为两个角色,一个管理员操作端和一个操作员操作端
管理员操作端:
操作员操作端:
类的设计,以及他们的变量的数据类型的设计,等等,记得提前布局构思好,之后再着手编写代码,会得到事半功倍的效果。
- 再者就是注意数据库的设计,因为数据库的数据类型与我们java的数据类型存在一定的差异,需要仔细比对,避免出现无法存储到数据库的尴尬局面的产生。
我们在编写过程当中就出现过无法存储java中布尔类型的值无法存储到数据库当中去,后来在我们俩技术受限的情况下,采用了字符串匹配的方法来替代了布尔类型的值。希望评论区有大佬能告诉我一下,怎么把java的布尔类型存到数据库当中去,或者有没有办法存储。十分感谢
- 其次就是在编写项目之前,要将数据访问层,逻辑处理层,展示层分开,让各层专做自己的事情,层层分明,避免出现高耦合的情况。
- 另外就是对Git工具的使用,在开发过程中,特别是多人开发过程中,Git工具的使用尤为重要,不仅可以备份之前的代码,也可以将自己的代码分享给同事,做到高效率开发。而使用Git工具的过程当中,作为新手的我们,还是有些不熟练,经常造成代码提交覆盖,而没有创建备份分支,造成代码丢失,因此切记,在提交代码之前,要将修改过的代码放到另一个分支进行开发修改,避免造成已经完成的代码的丢失。
- 对于其他的逻辑方面与IO流版本的图书管理系统大差不差,无非就是用IO流存储到文件的内容改到存储到了数据库当中去,而数据库的SQL语句在java当中编写的时候容易出错,这里我们就将SQL语句在MySQL中试了一遍之后,没问题了才放到java当中去,才能降低出错的几率。
- 使用数据库对数据进行操作,十分依赖JDBC进行CRUD操作,对于JDBC应当熟练地使用,需要会调用已经封装好的方法。
三、总结
编写一个项目,需要耐心且细心,认真的捋清楚其中的逻辑,准备工作完成之后,再进行相应的代码编写的工作,这样在后续遇到问题的时候可以很快速的定位到问题所在,减少开发的工作量。其次要熟练的使用设计模式,以及三层架构,可以减少代码的耦合性,提高程序性能。
总之,要加强代码编写能力,继续加油。
下面是本项目的源码,有兴趣的小伙伴可以下载体验。