图书管理系统设计说明书v10Word格式.docx
《图书管理系统设计说明书v10Word格式.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计说明书v10Word格式.docx(11页珍藏版)》请在冰点文库上搜索。
字段:
userid主键整数,生成策略自动增长
username用户名字符串
password密码字符串
usernum用户编号字符串
age年龄整数
email邮箱字符串
currentnumber自增数字整数用于生成借阅记录编号
registerdate注册日期日期类型
genderid性别表外键整数
roleid用户角色表外键整数
departmentid部门表外键整数
2.gender性别表存储性别信息
genderid主键整数
gendername性别名称字符串
3.department部门表存储部门信息
departmentid主键整数自增
departmentname部门名称字符串
shortname部门简称字符串用于生成用户编号规定该字段值为英文字母
currentnumber自增数字整数用于生成用户编号
4.userrole用户角色表
roleid主键整数自增
rolename角色名称字符串
5.menu菜单表
menuid主键整数自增
menuname菜单名称字符串
href菜单链接字符串用于前端页面需要的连接
level菜单级别整数表示当前菜单级别,取值1为主菜单,级联菜单依次增长
parentmenuid上级菜单编号整数表示当前菜单上一级菜单的索引,该值应与表中已有值主键对应
6.rolemenuindex角色与菜单索引表
indexid主键整数自增
roleid用户角色表外键
menuid菜单表外键
图书模块
1.book图书表
bookid主键整数自增
bookname图书名称字符串
isbnnumberISBN编号字符串
price图书价格浮点数规定精度为小数点后两位
amount库存数量整数
categoryid图书类型表外键
publisherid出版商表外键
stockstatusid库存状态表外键
2.stockstatus图书库存状态表
stockstatusid主键整数自增
statusname库存状态名称字符串
3.author图书作者表
authorid主键整数自增
authorname作者名整数自增
4.bookauthordic图书作者中间索引表
id主键整数自增
bookid图书表外键
authorid作者表外键
5.category图书类型表
categoryid主键整数自增
categoryname类型名称字符串
shortname类型简称字符串规定改字段值为英文字符
currentnumber自增数字整数用于生成图书编号
6.publisher出版商表
publisherid主键整数自增
publishername出版商名称字符串
7.booktransaction借阅记录表
transactionid主键整数自增
lognumber记录编号字符串
outdate借出日期日期类型
returndate归还日期日期类型
userid用户表外键
三.程序结构
1.实体层
数据库中每一张表在实体层中应有对应映射类
2.通用DAO层
DAO层使用泛型接口和实现类,增、删、改、查询多实体、查询单实体以及查询实体数量每种操作应至少有一个方法。
对于查询方法,应只使用HQL语句、Callback或等抽象而不添加具体实现。
BaseDao<
T>
接口
BaseDaoImpl<
实现类
方法
添加实体
voidaddEntity(Tt)
修改实体
voidupdateEntity(Tt)
删除实体
voiddeleteEntity(Tt,Class<
tClass)
查询多实体
List<
queryAllEntity(Tt,Class<
tClass,Callbackcallback)
查询单实体
TqueryEntity(Tt,Class<
查询实体数量
IntegerqueryCountEnity(Tt,Class<
3.Service层
Service层应设置事务控制
①User层
interfaceUserService接口
classUserServiceImpl实现类
成员
privateBaseDao<
UsertableEntity>
userDao
DepartmentEntity>
departDao
voidaddUser(UsertableEntityuserin)添加用户
由参数获取部门id
从部门表中查询对应部门实体
从部门实体读取自增数字
设置用户编号
更新部门自增数字
用户实体持久化
voidupdateUser(UsertableEntityuserin)修改用户
voiddeleteUserById(Integerid)按照主键删除用户
根据id查询实体
删除该实体
UsertableEntityqueryUserById(Integerid)按主键查询用户
根据id查询单一实体
UsertableEntitylogin(UsertableEntityuserin)登录方法
由参数获取用户名和密码
根据用户名和密码查询单一实体
queryAllUser(UsertableEntityuserin)查询多个实体
由参数获取用户角色,用户名,和注册时间
根据过滤条件从用户表查询多个实体
IntegerqueryCountUser(usertableEntityuserin)查询用户数量
由参数获取用户角色,用户名和注册时间
根据条件从用户表查询数量
②Book层
interfaceBookService接口
classBookServiceImpl实现类
BookEntity>
bookDao
CategoryEntity>
categoryDao
BookauthordicEntity>
dicDao
方法:
voidaddBook(BookEntitybook,List<
AuthorEntity>
authorList)新增图书
由参数获取图书id,作者id和类别id
使用中间表Bookauthordic实体封装图书id和作者id
将Bookauthordic实体存入数据库
由类别id从类别表中查询类别实体
由类别实体获取类别简称shortname
拼接ISBN编号并修改bookisbnnumber属性
更新类别实体自增数字currentnumber
修改图书实体amount属性
将图书实体存入数据库
voidupdateBook(BookEntitybook)修改图书
将图书实体修改并存入数据库
voiddeleteBookById(Integerid)根据主键删除图书
由参数从图书表中查询实体
BookEntityqueryBookById(Integerid)根据主键查询图书
queryAllBook(BookEntitybook,AuthorEntityauthor)查询多个图书
有参数获取图书类别id,图书名称,作者id
使用作者id从中间表Bookauthordic中查询对应图书id
使用图书id从图书表中查询图书Listlistone
使用图书类别id和图书名称查询图书Listlisttwo
返回两个List交集
IntegerqueryCountBook(BookEntitybook,AuthorEntityauthor)查询图书返回结果数
直接调用queryAllBook方法返回List长度
③BookTransaction借阅记录管理
interfaceBookTransactionService接口
classBookTransactionImpl实现类
BookTransactionEntity>
transactionDao
voidaddTransaction(UsertableEntityuserin,BookEntitybook,BookTransactionEntitytran)新增借阅记录
由参数获取用户编号usernum,用户自增数字currentnum,图书id,记录实体tran
由usernum和currentnum拼接记录编号lognumber,修改记录实体属性
由图书id查询图书实体,修改库存数量amount属性
记录实体tran持久化
voidreturnBook(BookTransactionEntitytran)还书操作,修改借阅记录
由参数获取记录id
由transactionid从记录表中查询记录实体trans
由trans的图书id属性从图书表中查询对应实体book
修改book库存数量属性amount
修改记录实体trans还书日期属性returndate
voiddeleteTransactionById(Integerid)删除借阅记录
根据id查询记录实体
TransactionEntity>
queryAllTransaction(BookEntitybook)借阅管理菜单查看借阅记录
由参数获取图书名称bookname,ISBN编号isbnnumber
由名称和ISBN编号从图书表中查询对应图书实体
使用集合存储图书实体List<
booklist
由booklist中图书id查询对应记录
queryAllTransaction(BookEntitybook,UsertableEntityuserin)借阅管理管理记录
由参数获取图书名bookname,用户名username
由bookname从图书表中查询符合条件图书List<
booklistone
由username从用户表中查询符合条件用户List<
userlist
从借阅记录表中使用userlist中userid查询符合条件记录实体List<
BookTrasaction>
transactionlist
从图书表中使用transactionlist中图书主键bookid查询对应图书List<
booklisttwo
返回booklistone和booklisttwo的交集
④Author图书作者管理
interfaceAuthorService接口
classAuthorServiceImpl实现类
privateBaseDao<
authorDao
voidaddAuthor(AuthorEntityauthor)新增作者
将author持久化
⑤Menu菜单管理
interfaceMenuService接口
classMenuService实现类
MenuEntity>
menuDao
RoleMenuIndexEntity>
rmiDao
queryMenu(MenuEntitymenu,UsertableEntityuser)页面显示左侧菜单栏
由参数获取菜单显示级别level,父菜单parentmenuid,用户角色roleid
从角色菜单索引表中使用roleid查询对应菜单menuid
从菜单表中使用level和parentmenuid查询对应菜单List<
menulist