图书管理系统之数据库访问层设计

数据库访问层就是通过DAO设计模式将在java代码里的操作链接到数据库的过程,具体涉及到的访问操作如下所示:

根据需求分析系统功能分为读者信息管理模块、图书信息管理模块、图书借阅管理模块、基础信息维护模块和用户管理模块。

4.1 实体层

在实现功能的过程中,需要对数据表进行操作,可以在程序中直接访问数据库,但这样降低了系统的安全性,同时后续维护和扩展也不方便。因此可以建立实体类,实现数据库表的映射,封装数据库中的数据,通过对实体类的操作,映射到数据库表,既提高了系统的安全性,使代码简介,又提高了复用性和可扩展性。

根据数据库表,结合功能设计,设计6个实体类。

Book.javaISBNtypeidbooknameauthorpublishpubilishdateprinttimeunitpricetypename

BookType.javatypeidtypename

BorrowBook.javareaderidISBNborrowdatereturndatefine

Reader.javareaderidnamesexagedeptphoneregdatlimitmaxborrownumtypetypename

ReaderType.javatypeidtypenamelimitmaxborrownum

Users.javaidnamepasswowrd

 

4.2 数据访问层设计

4.2.1读者信息管理

完成读者信息添加和读者信息查询与修改功能。

1)读者信息添加

根据输入的读者编号、姓名、类别、性别、年龄、电话、所在部门、注册日期,完成读者信息的录入。其中要求读者编号和姓名不能为空,读者编号长度为8

public static int insertReader(Reader reader){}

 

2)读者信息查询与修改

用户登录成功之后,可以查询全部读者信息,也可以分别根据读者编号、读者姓名、读者部门、读者类型查询读者信息。

public static List<Reader> selectReader(){..}

public static Reader selectReaderById(String id){..}

public static List<Reader> selectReaderByName(String name){…..}【模糊查询】

public static List<Reader> selectReaderByType(String type){…..}

public static List<Reader> selectReaderByDept(String dept){…..}

读者信息修改根据查询到的读者信息,可以修改各部分。

public static int updateReader(Reader reader){}

4.2.2 图书信息管理

完成图书信息添加和图书信息查询与修改功能。

1)图书信息添加

根据录入的图书ISBN、类别、图书名称、作者、出版社、出版日期、印刷次数、单价完成图书信息添加。

public static int insertBook(Book book){……}

2)图书信息查询与修改

用户登录成功之后,可以浏览所有图书信息,也可以根据ISBN、图书名称、图书类别、作者、出版社检索特定图书的相关信息。

public static List<Book> selectBook(){….}

public static Book selectBookByISBN(String ISBN){….}

public static List<Book> selectBookByName(String name){….}【模糊查询】

public static List<Book> selectBookByType(String type){….}

public static List<Book> selectBookByAuthor(String author){….}

public static List<Book> selectBookByPublish(String Publish){….}

图书信息修改根据查询到的读者信息,可以修改各部分。

public static int update(Book book)

4.2.3 图书借阅管理

包括图书借阅和图书归还功能。

 

1)图书借阅

根据用户输入的读者编号,则显示出该读者的姓名、类别,及该读者的借阅情况。然后录入该读者的最新借阅的图书ISBN,显示出该图书的相关信息,确定借阅后,将该借阅信息录入(包括读者编号、图书ISBN,当前日期即借阅日期)。

public static List<BorrowBook> selectBorrowByReaderId(String readerid){….}//查询指定编号读者的借书信息

public static int borrowBook(String readeridString ISBN, Date borrowdate){…}//图书借阅,借阅者的编号,图书编号,借阅日期

2)图书归还

图书归还功能,输入读者的编号,则显示出该读者名下已借阅的图书,选中要归还的图书,判断当前日期即归还日期与借阅日期的差值是否超过了规定的期限,计算罚金,从而进行图书的归还操作,更新借阅信息表的归还日期为当前日期。

public static int returnBook(String readeridString ISBNDate returndate) {…}//图书归还,还书者的编号,图书编号,借阅日期

4.2.4 基础信息管理

包括图书类别设置、读者类别设置及罚金设置。图书类别设置,可以对图书的类别进行增加、删除、修改和查询;读者类别设置可以对读者的类别进行增加、删除、修改和查询;罚金设置,可以指定超期一天的罚金标准。

1)图书类别设置

图书类别设置包括查询所有图书类别信息,查询指定类型名的图书类型信息,添加图书类型,修改指定编号的图书类型信息,删除指定类型编号的图书类型。

public static List<BookType> selectBookType(){…}

public static List<BookType> selectBookType(String type){…}

public static int insertBookType(Integer id, String typename){….}

public static int updateBookType(Integer id, String typename){….}

public static int deleteBookType(Integer id){….}

2)读者类别设置

读者类别设置包括查询所有读者类型信息,查询指定类型名的读者信息类型,添加读者类型,修改指定编号的读者类型信息,删除指定类型编号的读者类型。

public static List<ReaderType> selectReaderType(){…}

public static List<ReaderType> selectReaderType(String type){…}

public static int insertReaderType(Integer id, String typename, Integer num, Integer limit){….}

public static int updateReaderType(Integer id, String typename, Integer num, Integer limit){….}

public static int deleteReaderType(Integer id){….}

4.2.5 用户管理

具体包括登陆系统的时候,判断用户名和密码是否有效;查询所有用户信息;添加用户;修改指定编号的用户的密码;删除指定编号的用户信息。

public static Users check(Users users){…}

public static List<Users> selectUser(){….}

public static int insertUser(Users users){…}

public static int updateUserPWD(Users users){…} 【根据编号修改密码】

public static int deleteUser(Integer id){…}


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值