1、JAVA+My SQL 项目实验报告 图书馆管理系统 一, 需求分析 1, 图书馆管理系统需要管理读者的信息,具体信息有读者的 编号(条形码) ,姓名,性别,年龄,身份证号码,联系电 话。 2, 需要管理图书的信息,具体信息有图书编号(条形码) ,图 书类型,书名,作者,出版社,出版日期,价格 3, 需要管理图书订购的信息,具体信息有图书编号(条形码) , 图书类型,书名,作者,出版社,出版日期,价格,订购 日期,订购数量,操作员,是否验收,折扣 4, 需要管理图书馆管理员的信息,具体信息有管理员编号, 真实姓名,性别,年龄,身份证号码,工作日期,电话号 码,管理员等级,用户名,密码 5, 需
2、要管理借书,还书信息,具体信息有编号,所借图书, 操作员,借书人,是否返还,借书日期,返还日期 二, 系统配置 开发语言:Java 数据库:MySql 5.1 语言开发环境:NetBeans 6.8 数据库辅助工具:SQLyog 企业版 数据库默认字符集(ISO-8859-1) 数据库用户名:root 数据库密码为:caofeng 三, 数据库设计 1, book 表(图书信息表) 字段 属性 ISBN 图书编号(主键) typeId 图书类型(外键) bookName 图书名称 Writer 图书作者 publisherId 出版社类型(外键) publisherDate 出版日期 pric
3、e 价格 2, bookType 表(图书类型表) 字段 属性 id 图书编号(主键) typeName 图书类型名称 3, publisherType 表(出版社类型表) 字段 属性 id 出版社编号(主键) publisherName 出版社类型名称 4, reader 表(读者信息表) 字段 属性 ISBN 读者编号(主键) name 读者姓名 sex 读者性别 age 读者年龄 identityCard 读者身份证号码 tel 读者联系电话 5, manager 表(管理员信息表) 字段 属性 id 管理员编号(主键) name 管理员姓名 sex 管理员性别 age 管理员年龄 id
4、entityCard 管理员身份证号码 workdate 管理员开始工作日期 tel 管理员联系电话 level 管理员等级 userName 用户名 password 密码 6, borrow 表(借书表) 字段 属性 id 编号(主键) bookISBN 图书编号(外键) operatorId 操作员编号(外键) readerISBN 读者编号(外键) isBack 是否返还 borrowDate 借书日期 backDate 还书日期 7, orderBook 表(新书订购表) 字段 属性 ISBN 订购图书编号(主键) typeId 图书类型(外键) bookName 图书名称 writ
5、er 图书作者 publisherId 出版社类型(外键) publisherDate 出版日期 price 价格 orderDate 订购日期 number 订购数量 operatorId 操作员编号(外键) checkAndAccept 是否验收 zk 折扣 数据库关系图 四, 概要设计 1, 模型类设计(com.wind.model) 类名 作用 BookModel.java 定义图书的模型 BookTypeModel.java 定义图书类型的模型 PublisherTypeModel.jav a 定义出版社类型的模型 ReaderModel.java 定义读者的模型 ManagerMo
6、del.java 定义管理员的模型 OrderBookModel.java 定义图书订购信息的模型 BorrowModel.java 定义借书信息的模型 BookTypeItem.java 定义界面下拉框选项的图书类型对象 PublisherTypeItem.java 定义界面下拉框选项的出版社类型对象 2, 工具类设计(com.wind.util) 类名 作用 BookTypeUtil.java 用于图书类型的数据库操作 BookUtil.java 用于图书的数据库操作 BorrowUtil.java 用于借书的数据库操作 DbUtil.java 用于数据库基础的数据库操作 LogOnUti
7、l.java 用于用户登录的数据库操作 OperatorUtil.java 用于管理员的数据库操作 OrderBookUtil.java 用于图书订购的数据库操作 PublisherTypeUtil.java 用于出版社类型的数据库操作 ReaderUtil.java 用于读者信息的数据库操作 3, 窗体类设计(com.wind.view) AboutMeInterFrm.java 关于作者信息的内部窗体类 BackBookInterFrm.java 关于还书信息的内部窗体类 BookInterFrm.java 关于图书信息的内部窗体类 BookTypeInterFrm.java 关于图书类型
8、信息的内部窗体类 BorrowBookInterFrm.java 关于借书信息的内部窗体类 ChangeKouLinInterFrm.java 关于更改用户信息的内部窗体类 CheckAndAcceptInterFrm.java 关于新书验收的内部窗体类 LogOnFrm.java 关于用户登录的窗体类 MainFrm.java 关于系统的主窗体类 OrderBookInterFrm.java 关于新书订购的内部窗体类 PublisherTypeInterFrm.java 关于出版社类型的内容窗体类 ReaderInterFrm.java 关于读者信息的内部窗体类 UserManagerInt
9、erFrm.java 关于用户信息管理的内部窗体类 类名 作用 五, 详细设计 1, BookModel 类 A, 属性 属性 描述 ISBN 图书编号 typeId 图书类型编号 bookName 图书名称 Writer 图书作者 publisehrId 图书出版社编号 publisherDate 图书出版日期 Price 图书价格 B, 方法 方法 描述 GetISBN 获取图书编号 setISBN 设置图书编号 getTypeId 获取图书类型编号 setTypeId 设置图书类型编号 getBookName 获取图书名称 setBookName 设置图书名称 getWriter 获取图
10、书作者 setWriter 设置图书作者 getPublisherId 获取图书出版社编号 setPublisherId 设置图书出版社编号 getPublisherDate 获取图书出版日期 setPublisherDate 设置图书出版日期 getPrice 获取图书价格 setPrice 设置图书价格 2, BookTypeItem 类 A, 属性 属性 描述 Id 图书类型编号 typeName 图书类型名称 B, 方法 方法 描述 BookTypeItem 无参构造方法 BookTypeItem 有参构造方法 getId 获取图书类型编号 setId 设置图书类型编号 getType
11、Name 获取图书类型名称 setTypeName 设置图书类型名称 toString 返回对象的字符串信息 3, BookTypeModel 类 A, 属性 属性 描述 Id 图书类型编号 typeName 图书类型名称 B, 方法 getId 获取图书类型编号 setId 设置图书类型编号 getTypeName 获取图书类型名称 setTypeName 设置图书类型名称 方法 描述 4, BorrowModel 类 A, 属性 属性 描述 id 借书编号 bookISBN 图书编号 operatorId 操作员编号 readerISBN 读者编号 Isback 是否返还 borrowDa
12、te 借书日期 backdate 返还日期 B, 方法 方法 描述 getId 获取借书编号 setId 设置借书编号 getBookISBN 获取图书编号 setBookISBN 设置图书编号 getOperatorId 获取操作员编号 setOperatorId 设置操作员编号 getReaderISBN 获取读者编号 setReaderISBN 设置读者编号 getIsBack 获取图书是否返还 setIsBack 设置图书是否返回 getBorrowDate 获取借书日期 setBorrowDate 设置借书日期 getBackDate 获取返还日期 setBackDate 设置返回日
13、期 5, ManagerModel 类 A, 属性 属性 描述 Id 管理员编号 Name 姓名 Sex 性别 identityCard 身份证号码 workDate 工作日期 Tel 联系电话 Level 管理员等级 userName 用户名 Password 密码 age 年龄 B, 方法 方法 描述 GetId 获取管理员编号 setId 设置管理员编号 getName 获取姓名 setName 设置姓名 getSex 获取性别 setSex 设置性别 getAge 获取年龄 setAge 设置年龄 getIdentityCard 获取身份证号码 setIdentityCard 设置身份
14、证号码 getWorkDate 获取工作日期 setWorkDate 设置工作日期 getTel 获取电话号码 setTel 设置电话号码 getLevel 获取管理员等级 setLevel 设置管理员等级 getUserName 获取用户名 setUserName 设置用户名 getPassword 获取密码 setPassword 设置密码 6, OrderBookModel 类 A, 属性 属性 描述 ISBN 图书编号 typeId 图书类型 bookName 图书名称 Writer 图书作者 publisherId 出版社编号 publisherDate 出版日期 Price 价格
15、orderDate 订购日期 Number 订购数量 operatorId 操作员编号 checkAndAccept 是否验收 Zk 折扣 B, 方法 方法 描述 GetISBN 获取图书编号 setISBN 设置图书编号 getTypeId 获取图书类型 setTypeId 设置图书类型 getBookName 获取图书名称 setBookName 设置图书名称 getWriter 获取图书作者 setWriter 设置图书作者 getPublisherId 获取出版社编号 setPublisherId 设置出版社编号 getPublisherDate 获取出版日期 setPublisher
16、Date 设置出版日期 getPrice 获取图书价格 setPrice 设置图书价格 getOrderDate 获取订购日期 setOrderDate 设置订购日期 getNumber 获取订购数量 setNumber 设置订购数量 getOperatorId 获取操作员编号 setOperatorId 设置操作员编号 getCheckAndAccept 获取是否验收 setCheckAndAccept 设置是否验收 getZk 获取折扣 setZk 设置折扣 7, PublisherTypeItem 类 A, 属性 属性 描述 Id 出版社类型编号 typeName 出版社名称 B, 方法
17、 方法 描述 PublisherTypeItem 无参构造方法 PublisherTypeItem 有参构造方法 getId 获取出版社类型编号 setId 设置出版社类型编号 getTypeName 获取出版社类型名称 setTypeName 设置出版类型名称 toString 获取对象的字符串表示 8, PublisherTypeModel 类 A, 属性 属性 描述 Id 出版社类型编号 publisherName 出版社类型名称 B, 方法 方法 描述 GetId 获取出版社类型编号 setId 设置出版社类型编号 getPublisherName 获取出版社类型名称 setPubli
18、sherName 设置出版社类型名称 9, ReaderModel 类 A, 属性 属性 描述 ISBN 读者编号 Name 姓名 Sex 性别 Age 年龄 identityCard 身份证号码 Tel 联系电话 B, 方法 方法 描述 GetISBN 获取读者编号 setISBN 设置读者编号 getName 获取姓名 setName 设置姓名 getAge 获取年龄 setAge 设置年龄 getIdentityCard 获取身份证号码 setIdentityCard 设置身份证号码 getTel 获取联系电话 setTel 设置联系电话 getSex 获取性别 setSex 设置性别
19、10, BookTypeUtil 类 A, 属性 无类属性 B, 方法 方法 描述 getBookType 查询所有图书类别信息 addBookType 添加一个图书类型记录到数据库 deleteBookType 删除一个图书类型记录到数据库 updateBookType 更新一个图书类型记录到数据库 idToTypeName 获取图书类型编号到图书类型名称的转换 typeNameToId 获取图书类型名称到图书类型编号的转换 11, BookUtil 类 A, 属性 无类属性 B, 方法 方法 描述 GetBook 查询所有图书信息 addBook 添加一条图书信息记录到数据库 delete
20、TuShu 删除一条图书信息记录到数据库 updateTuShu 更新一条图书信息记录到数据库 JingQueSearch 通过图书编号精确查询图书信息 MoHuSearch 模糊查询图书信息 12, BorrowUtil 类 A, 属性 无类属性 B, 方法 方法 描述 GetBorrow 通过图书编号获取借书信息 addBorrow 添加一条借书信息记录到数据库 updateBorrow 更新一条借书信息记录到数据库 13, DbUtil 类 A, 属性 属性 描述 dbUrl 访问数据库路径 dbUser 访问数据库的用户名 dbPassword 访问数据库的密码 jdbcName 数据
21、库驱动的类名 B, 方法 方法 描述 GetCon 获取数据库连接 closeCon 关闭数据库连接 closeRs 释放数据集 ISOToGBK ISO 编码字符串到 GBK 编码字符串的转换 GBKToISO GBK 编码字符串到 ISO 编号字符串的转换 getNowDate 获取当前日期 betweenDate 获取两个日期间隔的天数 14, LogOnUtil 类 A, 属性 无类属性 B, 方法 方法 描述 login 验收用户名,密码是否正确 15, OperatorUtil 类 A, 属性 无类属性 B, 方法 方法 描述 getOperator 查找所有管理员记录 userN
22、ameToId 用户名到管理员编号的转换 idToUserName 管理员编号到用户名的转换 userNameToLevel 用户名到管理员等级的转换 addOperator 添加一条管理员信息记录到数据库 delOperator 删除一条管理员信息记录到数据库 updateOperator 更新一条管理员信息记录到数据库 16, OrderBookUtil 类 A, 属性 无类属性 B, 方法 方法 描述 getTuShu 查询所有图书订购信息 addOrderTuShu 添加一条图书订购信息记录到数据库 updateOrderTuShu 更新一条图书订购信息记录到数据库 17, Publi
23、sherTypeUtil 类 A, 属性 无类属性 B, 方法 方法 描述 getPublisherType 获取所有出版商类别信息 addPublisher 添加一个出版商信息记录到数据库 deletePublisher 删除一个出版商信息记录到数据库 updatePublisher 更新一个出版商信息记录到数据库 idToTypeName 从出版商类型编号到出版商类型名称的转换 typeNameToId 从出版商类型名称到出版商类型编号的转换 18, ReaderUtil 类 A, 属性 无类属性 B, 方法 方法 描述 getReader 查询所有读者信息 addReader 添加一个读
24、者信息记录到数据库 updateReader 更新一个读者信息记录到数据库 deleteReader 删除一个读者信息记录到数据库 searchReader 通过读者编号查询读者信息 19, AboutMeInterFrm.java 类 A, 属性 无类属性(代码自动生成部分略) B, 方法 (代码自动生成部分略) 方法 描述 AboutMeInterFrm 无参构造方法 20, BackBookInterFrm.java 类 A, 属性 (代码自动生成部分略) 属性 描述 util 基本数据库操作工具类 borrowUtil 借书数据库操作工具类 B, 方法 方法 描述 BackBookIn
25、terFrm 无参构造方法 okButActionPerformed 读取读者,图书信息事件 OkBut1ActionPerformed 图书返还确定事件 21, BookInterFrm.java 类 A, 属性 属性 描述 Util 基本数据库操作对象 bookZSGUtil 图书数据库操作对象 bookTypeUtil 图书类型数据库操作对象 publisherTypeUtil 图书出版社类型数据库操作对象 B, 方法 方法 描述 BookInterFrm 无参构造方法 fillBookTypeJcb 填充图书类型下拉框方法 fillPublisherTypeJcb 填充图书出版社类型下
26、拉框方法 fillTable 填充图书信息表方法 bookZSGTableMousePresse d 图书信息表点击事件 addButActionPerFormed 添加图书信息事件 delButActionPerformed 删除图书信息事件 updateButActionPerformed 更新图书信息事件 sOkButActionPerformed 精确查询图书信息事件 sOk2ButActionPerformed 模糊查询图书信息事件 22, BookTypeInterFrm 类 A, 属性 属性 描述 Util 基本数据库操作对象 bookTypeUtil 图书类型数据库操作对象 B
27、, 方法 方法 描述 BookTypeInterFrm 无参构造方法 FillTable 填充图书类型信息表方法 bookTypeTableMousePresse d 图书类型表点击事件 addButActionPerformed 添加图书类型信息事件 delButActionPerformed 删除图书类型信息事件 updateButActionPerformed 更新图书类型信息事件 23, BorrowBookInterFrm 类 A, 属性 属性 描述 Util 基本数据库操作对象 operatorUtil 操作员数据库操作对象 bookTypeUtil 图书类型数据库操作对象 pub
28、lisherTypeUtil 图书出版社类型数据库操作对象 BorrowUtil 借书数据库操作对象 B, 方法 方法 描述 BorrowBookInterFrm 无参构造方法 okButActionPerformed 读入图书,读者信息方法 okBut2ActionPerformed 确认借书事件 24, ChangeKouLinInterFrm 类 A, 属性 属性 描述 Util 基本数据库操作对象 operatorUtil 操作员数据库操作对象 B, 方法 方法 描述 ChangeKouLinInterFrm 无参构造方法 fillInfo 填充基本用户信息 okButActionPe
29、rformed 确认用户更改信息事件 25, CheckAndAcceptInterFrm 类 A, 属性 属性 描述 Util 基本数据库操作对象 bookTypeUtil 图书类型数据库操作对象 publisherTypeUtil 出版社类型数据库操作对象 orderBookUtil 图书订购数据库操作对象 operatorUtil 操作员数据库操作对象 bookUtil 图书数据库操作对象 B, 方法 方法 描述 CheckAndAcceptInterFrm 无参构造方法 fillTable 填充验收图书信息表方法 checkAndAcceptTableMousePresse d 验收事
30、件方法 26, LogOnFrm.java 类 A, 属性 属性 描述 Util 基本数据库操作对象 logOnUtil 用户登录数据库操作对象 Con 记录数据库连接对象 currentOperator 记录当前用户对象 currentPassword 记录当前用户密码对象 B, 方法 方法 描述 LogOnFrm 无参构造方法 LogOnButtonActionPerformed 用户登录事件 resetButtonActionPerformed 用户重置事件 main 主方法 27, MainFrm.java 类 A, 属性 无类属性 B, 方法 方法 描述 MainFrm 无参构造方法
31、 jMenuItem1ActionPerformed 读者信息管理菜单项事件 jMenuItem2ActionPerformed 图书类型信息管理菜单项事件 jMenuItem3ActionPerformed 图书出版社类型信息管理菜单项事件 jMenuItem4ActionPerformed 图书信息管理菜单项事件 jMenuItem12ActionPerformed 用户口令更改菜单项事件 jMenuItem6ActionPerformed 退出系统菜单项事件 jMenuItem7ActionPerformed 图书订购信息管理菜单项事件 jMenuItem8ActionPerformed
32、 图书验收信息管理菜单项事件 jMenuItem9ActionPerformed 借书信息管理菜单项事件 jMenuItem10ActionPerformed 还书信息管理菜单项事件 jMenuItem11ActionPerformed 用户信息管理菜单项事件 Main 主方法 jMenuItem13ActionPerformed 关于作者信息管理菜单项事件 28, OrderBookInterFrm.java 类 A, 属性 属性 描述 Util 基本数据库操作对象 bookTypeUtil 图书类型数据库操作对象 publisherTypeUtil 出版社类型数据库操作对象 orderBo
33、okUtil 图书订购数据库操作对象 B, 方法 方法 描述 OrderBookInterFrm 无参构造方法 fillBookTypeJcb 填充图书类型方法 fillPublisherTypeJcb 填充图书出版社类型方法 setCurretnOperator 设置当前用户方法 orderButActionPerformed 图书订购确认事件 29, PublisherTypeInterFrm.java 类 A, 属性 属性 描述 Util 基本数据库操作对象 publisherTypeUtil 图书出版社类型数据库操作对象 B, 方法 方法 描述 PublisherTypeInterFr
34、m 无参构造方法 fillTable 填充图书类型表信息方法 publisherTypeTableMousePresse d 图书类型信息表点击事件 addButActionPerformed 添加图书类型信息事件 delButActionPerformed 删除图书类型信息事件 updateButActionPerformed 更新图书类型信息事件 30, ReaderInterFrm.java 类 A, 属性 属性 描述 Util 基本数据库操作对象 readerUtil 读者数据库操作对象 B, 方法 方法 描述 ReaderInterFrm 无参构造方法 fillTable 填充读者信
35、息表方法 readerTableMousePressed 读者信息表点击事件 addButActionPerformed 添加读者信息事件 delButActionPerformed 删除读者信息事件 updateActionPerformed 更新读者信息事件 searchButActionPerformed 查询读者信息事件 31, UserManageInterFrm.java 类 A, 属性 属性 描述 Util 基本数据库操作对象 operatorUtil 操作员数据库操作对象 B, 方法 方法 描述 UserManagerInterFrm 无参构造方法 fillTable 填充用户信息表方法 userManagerTableMousePresse d 用户信息表点击事件 addButActionPerformed 添加用户信息事件 delButActionPerformed 删除用户信息事件 updateButActionPerformed 更新用户信息事件 六, 运行效果 七, 项目总结 通过本次项目实验,我已经对 jdbc 数据库操作比较熟悉,对一些常 用用户控件能够熟练使用,如表,下拉框,单选按钮等,对 NetBeans 工具也有一定的熟悉,现在要全面前 J2ee 进军。