图书馆管理系统重构(数据库版)

前言

之前和同学合作开发了一个通过I/O流实现的图书馆管理系统,具体可以看我之前写的博客(Java实战-基于I/O流设计的图书馆管理系统项目总结),在学习了数据库之后,我们基于之前的项目,合作完成了这一个带数据库版本的图书馆管理系统。
两位和我合作的同学博客:小张报道的博客隔壁皮皮王的博客

项目具体内容

本次的图书馆管理系统的基本功能大体可以参考之前I/O流版本的图书馆管理系统所具有的功能(Java实战-基于I/O流设计的图书馆管理系统项目总结)。
省流小助手:
图书馆管理系统具体功能

数据库

因为本次项目需要用到mysql数据库,我们需要在项目开始前设计好数据库表的内容,我具体设计了四个表(这里设计表的时候我借鉴了博主LeKie1的博文图书馆管理系统(Java Mysql)),分别为:

  • book表:存放图书馆中书籍的信息,包括书籍编号、ISBN、书名、书籍价格、作者、出版社、书籍类型和借出状态
  • admin表:存放管理员信息,包括管理员id、管理员用户名、管理员登录的密码
  • user表:存放用户信息,包括用户id、用户名、用户密码、用户性别、用户的电话和用户类型
  • borrow表(借还书日志),日志id、书籍编号、用户id、借书时间和还书时间

表内容设置具体如下图所示:
图书馆管理系统数据库表设计

代码部分

在学习了三层架构后,本次项目我们采用了三层架构的设计,具体代码结构比之前更加清晰,提高了代码可读可写性,方便了代码的开发和纠错,具体的代码结构如下图所示:
图书馆管理系统项目具体结构
具体代码内容过多,我会将内容打包发到网盘在文章最后分享出来,这里分享两个在本次项目中用到的比较好用的方法:

int类型数据输入类型判断:

这是一个我在该项目中经常用到的方法,该方法对于项目中经常进行的int类型数据的数据验证非常方便,同样的还有double类型数据输入的判断,将下列代码中的int和hasNexInt改成double和hasNexDouble就可以了,可以说是非常的人性。

public int input() {
        while (!scanner.hasNextInt()) {
            //没有这一行的话会导致无限循环
            String input = scanner.next();
            System.out.println("不是数字,重新输入");
        }//当是数字时循环结束
        int inputNum = scanner.nextInt();
        return inputNum;
    }

电话号码判断:

该方法解决了在用户注册和用户修改电话号码时判断用户输入的电话号码是否符合规范,防止用户输入非正确格式的电话号码

public String modifyPhone(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入电话号码:");
        String Phone = scanner.next();
        while (!validateMobilePhone(Phone)){
            System.out.println("输入错误,请重新输入(电话号码为11位)");
            Phone = scanner.next();
        }
        return Phone;
    }

结语:

本次数据库版的图书馆管理系统的重构,增强了我对数据库、jdbc、三层架构和设计模式的理解以及git远程仓库的使用,对于团队合作完成项目也有了更深的理解,在之后的学习中,可能还会有新的挑战等着我,我将以积极的心态迎接这些新的挑战。

悄悄的分享:

csdn链接:library-management-system.rar
百度网盘链接:https://pan.baidu.com/s/1GalEWoP7ml_2HR3E5P6nqg
提取码:bjkz

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没谱的曲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值