基于Java的资料室图书管理系统的研究与实现

2016-05-30 13:51于童
科技风 2016年16期
关键词:图书管理数据库

于童

摘 要:本文在针对图书管理系统的需求和功能分析的基础上,阐述了图书管理系统的数据库设计思路及实现。本文采用Java语言设计各类实现图书管理系统图形用户界面,同时实现了相应动作事件,从而实现了图书管理系统的各部分功能。

关键词:图书管理;借书还书;数据库

一、需求分析

资料室图书管理信息系统需实现的功能如下:

1)图书管理:包括录入、查询、修改和删除图书信息。

2)借书:包括借阅图书和查看借书信息。

3)还书:包括还书和查看还书记录。

为了保证系统安全,进入系统之前应该先通过登录验证。

二、资料室图书管理系统设计

(一)数据库设计

根据以上需求分析,设计数据库mybook,包含4个表:图书信息表(books)其中字段名包括图书顺序号,ISBN号,书名,作者,出版社,价格,出版日期等;借书记录表(lendRecord)其中字段名包括借书顺序,借书人,借书人单位,借书日期等;还书记录表(returnRecord)其中包括还书顺序号,还书人,还书人所在单位,还书日期等;用户信息表(users)其中包括用户名和密码等。

(二)系统功能能设计

根据需求分析,设计系统功能如下:

1)登录:显示登录界面,用户输入用户名和密码,单击登录按钮后,系统验证用户名和密码是否正确,如正确则进入主界面。

2)主界面:显示菜单,菜单结构,包括录入图书,查询图书,修改图书,删除图书,借书,查询借书记录,还书和查询还书记录等项目。

3)图书管理,共4项子功能:

a.录入图书,用户在主界面菜单中选择此功能时,进入登录界面。用户在录入界面中输入各项图书信息后,单击提交按钮,系统将采集界面中的图书信息,将其存入数据库的图书信息表中。

b.查询图书,系统为用户提供完全查询和模糊查询功能。

c.修改图书,用户在主界面菜单中现则此功能时,进入修改界面。首先根据用户输入信息完成图书信息的查询,用户在列表中选择需要删除的图书后,单击删除按钮,系统删除图书信息表中的相应记录。

d.借书,用户进入借阅图书界面,首先根据用户输入信息完成图书信息的查询,用户在列表中选择需借阅的图书后,单击借书按钮,系统修改图书信息表中的相关记录,并在借书记录表中登记一条记录。

e.还书,首先根据用户输入信息完成借书记录查询,用户在列表中选择需还的图书后,单击还书按钮,系统修改图书信息表中的相应记录,且修改借书记录表中相应记录的还书状态为true,并在还书记录表中登记一条记录。

三、资料室图书管理系统实现思路

为避免图形用户界面中对按钮事件处理的方法中代码堆砌太多,造成程序的结构性太差,系统实现时采用清晰的分层结构模型。用户通过界面输入信息或单击按钮,界面层通过事件处理控制转向业务层的不同处理方法进行处理,当需要对数据库进行操作时,业务层调用数据库操作层的相应书库操作方法完成之后书库操作层将结果返回业务层继续处理,业务层处理完毕,则再将结果返回到界面层,界面层显示结果,用户由此可进一步在界面上进行操作。

四、资料室图书管理系统实现

在资料室图书管理信息系统中,根据以上设计和实现思路,共写了8个类。其中界面层5个类:

loginManger类、bookManag类、updatePanel类、queryPanel类和cardPanel类;业务层1个类:Service类;数据库操作层1个类:dataOperator类;另外还有一个附加类:MD5类,该类用来添加用户以及登錄时对密码进行加密处理。

在界面层中,loginManager类用于登录界面;booksManager类是主界面;updatPanel类用于“录入”和“修改”图书功能所需界面;queryPanel类用于检索图书界面,还用于“修改”或“删除”图书前、“借书”前查询图书信息所需界面,以及查看“借书记录”所需界面、“还书记录”所需界面;cardPanel类用于“修改”图书所需的卡片布局界面,该界面将queryPanel面板和updatePanel面板垒起来,首先显示queryPanel面板查询出的图书信息,挑选一本后,将信息显示在updatePanel面板上进行修改。

在业务层中,Service类封装了界面层中除主界面之外,各个界面中按钮事件处理时所需调用的业务处理方法,这些方法都是静态的。

(一)建立数据表

在SQL Service数据库管理系统下,建立数据表myBooks,在该数据库中创建4个表,表名分别为“boos”、“lendRecord”,“returnRecord”和“users”。在系统中建立登录用户名为“adm”,密码为“123456”。

(二)登录功能实现

loginManager类是JFrame类的子类,并实现了ActionListener接口。封装在loginManager类中的main()方法是系统运行的入口方法。在该方法中创建loginManager窗口对象,并为loginManager窗口注册窗口监听器,最后显示窗口。actionPerformed(ActionEvent)是ActionListener接口定义的方法。在loginManager窗口中,当用户输入了用户名和密码,单击“登录按钮”时,执行该方法。

(三)录入图书功能的实现

在主界面,当用户选择“图书管理”菜单下的“录入”菜单项时,创建该面板类对象,将其放在主界面新建的内部窗口框架中。该面板从主界面booksManager对象接收到操作标记等参数。updatePanel类是JPanel类的子类,并实现了ActionListener接口。其中的构造方法负责完成录入图书面板的初始化,并为按钮“提交”和“取消”注册动作监听器。如当用户在面板上的文本框中输入了图书信息,单击“提交”按钮时,执行动作事件方法,在该方法中取得用户在文本框中输入的内容,调用Service类中的addBook方法完成数据库添加图书操作。如果返回值为0,则操作成功,否则操作失败。

(四)检索图书功能的实现

在主界面中,当用户选择“图书管理”菜单下的“检索”菜单项时,创建该面板类对象,将其放在主界面新建的内部窗口框架中。该面板从主界面类对象接收到操作标记和用户标识号。

猜你喜欢
图书管理数据库
数据库
数据库
论图书管理工作问题及解决对策
关于技工学校图书管理的信息建设研究
信息化条件下如何创新图书管理
谈数据挖掘为图书管理提供决策支持
数据库
数据库
数据库
数据库