简易版图书借阅系统(可操作数据库)

图书借阅系统

数据库表:
    用户表:id,用户名,密码
    图书表:id,图书名称,图书价格,出版社,作者,可借阅数量
    借阅表:id,用户id,图书id,借阅时间,归还时间 ,时间使用datetime(java对应类型为Date)

主要功能:
    1)添加图书 
        图书名不能相同
    2)删除图书
        如果删除的图书有人借阅,不能删除
    3)搜索图书
        根据书名模糊查询
    4)用户登录
        输入用户名和密码,如果登录成功,保存登录的用户的信息
        如果登录失败,需要提示是用户名错误还是密码错误
    5)用户注册
        输入用户名、密码、二次确认密码
        需要判断两次输入密码是否一致
        注册时,用户名不能相同
    6)已登录用户借阅图书
        同一用户归还图书之前,不能再次借阅相同图书
        需要判断可借阅数量是否足够
        注意:需要判断是否登录
    7)已登录用户查看自己所有的借阅信息
        返回数据包括:图书id,图书名称,作者,价格,借阅时间,是否归还(显示 是/否)
        根据借阅时间倒序显示记录
        注意:需要判断是否登录
    8)已登录用户查询未归还图书信息
        返回数据包括:图书id,图书名称,作者,价格,借阅时间
        根据借阅时间倒序显示记录
        注意:需要判断是否登录
    9)已登录用户还书
        修改图书的可借阅数量
        修改归还时间
        注意:需要判断是否登录

在main方法中,选择相应功能进行操作
通过Scanner输入需要处理的数据
如果用户未登录,功能列表中不显示当前登录用户信息

功能列表显示如下:
******************************
图书借阅系统  当前登录用户:XXXX
******************************
1 添加图书
2 删除图书
3 根据书名搜索图书
4 用户注册
5 用户登录
6 查看已借阅图书信息
7 查看未归还图书信息
8 借书
9 还书
0 退出系统
******************************
请选择需要执行的功能:
 

本图书管理系统设置了三张表books,borrows,users

数据库如下:

链接:https://pan.baidu.com/s/1N6cnp2M-MtgWigK5WQBnYw?pwd=nglw 
提取码:nglw

Java代码也可直接下载:

链接:https://pan.baidu.com/s/1XkKHMg9Grfnx8vluB0TQgg?pwd=xytr 
提取码:xytr

Java代码部分由主函数和实现ROM的三个实体类组成。

主函数如下:

import java.sql.*;
import java.util.Scanner;

public class system {
    public static void main(String[] args) {

        users user=null;
        boolean i=true;
        Scanner scanner=new Scanner(System.in);
        while (i){
            System.out.println("功能列表显示如下");
            System.out.println("******************");
            System.out.print("图书借阅系统   ");
            if (user!=null){
                System.out.println("当前登录用户"+user.getUsername());
            }
            else {
                System.out.println("当前未登录");
            }
            System.out.println("******************");
            System.out.println("1.添加图书");
            System.out.println("2.删除图书");
            System.out.println("3.根据书名搜素图书");
            System.out.println("4.用户注册");
            System.out.println("5.用户登录");
            System.out.println("6.查看已借阅图书信息");
            System.out.println("7.查看未归还图书信息");
            System.out.println("8.借书");
            System.out.println("9.归还书");
            System.out.println("0.退出");
            System.out.println("******************");
            System.out.println("请输入您的选择:");
            int i1 = scanner.nextInt();
            switch (i1){
                case 1:
                    System.out.println("请输入书名:");
                    String title1 = scanner.next();
                    System.out.println("请输入价格:");
                    double price1 = scanner.nextDouble();
                    System.out.println("请输入出版社:");
                    String publisher1 = scanner.next();
                    System.out.println("请输入作者:");
                    String author1 = scanner.next();
                    addbook(title1,price1,publisher1,author1,1);
                    break;
                case 2:
                    System.out.println("请输入书的id号:");
                    int id1 = scanner.nextInt();
                    deletebook(id1);
                    break;
                case 3:
                    System.out.println("请输入书名:");
                    String title2 = scanner.next();
                    selectbook(title2);
                    break;
                case 4:
                    System.out.println("请输入用户名:");
                    String username = scanner.next();
                    System.out.println("请输入密码:");
                    String password = scanner.next();
                    System.out.println("请再次输入密码");
                    String password1 = scanner.next();
                    register(username,password,password1);
                    break;
                case 5:
                    if (user!=null){
                        System.out.println("您已登录,请勿重复登录");
                    }else {
                        System.out.println("请输入用户名:");
                        String username1 = scanner.next();
                        System.out.println("请输入密码:");
                        String password2 = scanner.next();
                        user=login(username1,password2);
                    }
                    break;
         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值