【实践三:图书馆管理系统--通过数据库重构】

关于创建时重构该管理系统的遇见的部分问题:

1、对输入日期合法性的判定:例如(20000年??13月32日 25小时:?61分:??61秒??)

解决方法:

//利用正则表达式对输入的字符串数据进行判断  正确返回true 不正确false
//支持“yyyy-MM-dd”格式 和“yyyy-MM-dd hh:mm:ss”格式
//记得导包import java.util.regex.Pattern;
public static boolean isDateTime(String datetime){

        Pattern p = Pattern.compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1][0-9])|([2][0-4]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");

        return p.matcher(datetime).matches();

    }

2、对输入读者的年龄进行判断:不可为负数(判断输入的值大于0)

3、对输入读者性别的判断(只能为男、女)

public static boolean chackSex(String sex){
        if(sex.equel("男")||sex.equel("女“)){
            return true;
        }
        return false;
}

4、关于逾期图书罚金总金额

方式一:开始用IO流去做:(样式如图所示):但是这种方法不好计算罚金的总金额,因此第二种用数据库去做

方式二:用数据库去做(这样去做 就可以很快的得到总金额)

public double getAllMoneySum() {
        Connection conn = null;
        try {
            conn = JDBCUtils.getConnection();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        String sql="select sum(payfine) from T_returnInfo where overday is not null;";

        double value1 = getValue1(conn, sql);
        JDBCUtils.closeSource(conn,null,null);
        return value1;
    }

关于重构该项目的整体设计重点理解

1、结构图:

理解结构图需要注意:

1、操作员只能登录而不能注册(他的注册是由管理员登录后的员工功能管理操作)

2、管理员只能够管理他所创建的操作员

关于使用到的工具类:

1、连接数据库 使用到了JDBC 技术(Java Database Connectivity) 数据库池技术 使用到的数据库池为阿里德鲁伊数据库池

JDBCUtils

2、输入的工具类

TSUtility
TSUtilityes

具体项目代码:

https://gitee.com/sw-ljb/library-manage-systemicon-default.png?t=M3K6https://gitee.com/sw-ljb/library-manage-system

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值