Java项目

项目需求

本图书管理系统主要用来管理图书信息,以及用户借阅图书相关 信息

-- 创建图书信息表
CREATE TABLE `book`(
	 `bookId` INT(1)   AUTO_INCREMENT COMMENT '图书名称ID',
	 `bookName` VARCHAR(50)  NOT NULL COMMENT '图书名称',
	 `publisher` VARCHAR(50) NOT NULL COMMENT '出版社',
	 `author` VARCHAR(50) NOT NULL COMMENT '作者',
	 `bookType`  VARCHAR(50) DEFAULT NULL COMMENT '书籍类型',
	 `remain` INT(11) DEFAULT NULL COMMENT '库存',
	 PRIMARY KEY(`bookId`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

DROP TABLE book

-- 添加数据
INSERT INTO `book`(`bookName`,`publisher`,`author`,`bookType`,`remain`) 
	VALUES('艺术设计必修课', '化学工业出版社', '霍金', '艺术类', 10);
INSERT INTO `book`(`bookName`,`publisher`,`author`,`bookType`,`remain`) 
	VALUES('中国力量超级工程', '四川少年儿童出版社', '四川少年', '科技类', 200);
INSERT INTO `book`(`bookName`,`publisher`,`author`,`bookType`,`remain`)
	VALUES ( '复活', '春风文艺出版社', '列夫·托尔斯泰', '文学类', 299);
INSERT INTO `book`(`bookName`,`publisher`,`author`,`bookType`,`remain`)
	VALUES ( '每天懂一点人情世故', '天津科学技术出版社', '章岩', '文学类', 1);
INSERT INTO `book`(`bookName`,`publisher`,`author`,`bookType`,`remain`)
	VALUES ( '孩子你要学会保护自己', '科学普及出版社', '未知', '文学类', 5);
INSERT INTO `book`(`bookName`,`publisher`,`author`,`bookType`,`remain`)
	VALUES ( '葫芦娃', '儿童出版社', '罗玲', '儿童类', 10);
INSERT INTO `book`(`bookName`,`publisher`,`author`,`bookType`,`remain`)
	VALUES ( '神秘的宇宙', '团结出版社', '詹姆斯•金斯', '科技类', 99);
INSERT INTO `book`(`bookName`,`publisher`,`author`,`bookType`,`remain`)
	VALUES ( '朗读者', '人民文学', '董卿', '文学类', 3);
	
-- 查看book表
SELECT * FROM book;

-- 创建管理员信息表
CREATE TABLE `admin`(
	`adminId` INT(1),
	`adminName` VARCHAR(10),
	`adminPassword` VARCHAR(20)
)ENGINE=INNODB DEFAULT CHARSET=utf8;

-- 添加数据
INSERT INTO `admin` VALUES(1001,'admin','admin');

-- 查看admin表
SELECT * FROM admin;

-- 创建用户信息表
CREATE TABLE `book_user`(
	`userId` INT(1) PRIMARY KEY AUTO_INCREMENT,
	`userName` VARCHAR(20) UNIQUE NOT NULL,
	`password` VARCHAR(20)  NOT NULL ,
	`phone` VARCHAR(11) NOT NULL UNIQUE,
	`birthday` VARCHAR(20) DEFAULT NULL
)ENGINE=INNODB DEFAULT CHARSET=utf8;

-- 添加数据
INSERT INTO `book_user` (`userName`,`password`,`phone`,`birthday`) 
	VALUES('zhangsan','123456','13456789098','1999-2-2');


DROP TABLE book_user	

-- 查看book_user表
SELECT * FROM book_user;

-- 创建借阅信息表
CREATE TABLE `borrowinfo`(
	`userId` INT(1) NOT NULL,
	`bookId` INT(1) NOT NULL,
	`borrowtime` DATETIME DEFAULT NULL COMMENT '借阅时间',
	`returntime` DATETIME DEFAULT NULL COMMENT '归还时间',
	`isreturn` INT(11) DEFAULT NULL COMMENT '是否归还',     -- 1表示归还,0表示为归还
	PRIMARY KEY (`userId`,`bookId`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;


-- 添加数据
INSERT INTO `borrowinfo` (`userId`,`bookId`,`borrowtime`,`returntime`,`isreturn`)
	VALUES(1,1,'2023-9-10',NULL,0);
INSERT INTO `borrowinfo` (`userId`,`bookId`,`borrowtime`,`returntime`,`isreturn`)
	VALUES(1,2,'2023-9-15',NULL,0);	

DROP TABLE borrowinfo
	
-- 查看borrowinfo表
SELECT * FROM borrowinfo;








SELECT u.`userName` AS `userName`,
		u.`userName` AS `userName`,
		b2.`bookName` AS `bookName`,
		b1.`borrowtime` AS `borrowtime`,
		b1.`returntime` AS `returntime` 
		 FROM `book_user` AS u LEFT JOIN  `borrowinfo` AS b1 ON u.`userId` = b1.`userId`
							   LEFT JOIN `book` AS b2 ON b1.`bookId` = b2.`bookId`
							   WHERE u.`userName` = 'zhangsan';





查询借阅表中,未归还图书借阅时间超过60天的图书
SELECT b2.* 
	FROM borrowinfo AS b1
	JOIN book AS b2 ON b1.bookId = b2.bookId
	WHERE b1.isreturn = 0
	AND b1.borrowtime <= DATE_SUB(NOW(), INTERVAL 60 DAY);
	
	
SELECT * FROM borrowinfo WHERE userid = 1
	AND DATEDIFF(NOW(),borrowtime) > 60
	AND isreturn = 0;

SELECT COUNT(1) FROM borrowinfo WHERE userId = 1 AND isreturn = 0


管理员端的功能:

1,登录功能

(1) 功能说明:

        登录后判断是管理员还是普通用户,如果是管理 员,则可以操作管理员相关的功能方法,如果是用户则可以操作用户相关的功能方法

2,添加用户

        (1) 本系统的用户信息,需要管理员手动添加,不能自己注册,如 果没有用户名信息,则提示用户让管理员添加信息

3,修改密码

        (1) 管理员可以修改自己的密码或者根据用户名修改用户密码

4,删除用户

        (1) 管理员可以根据用户名删除用户信息,删除之前要管理员确定 是否删除

5,查询用户信息及用户借阅信息

        (1) 管理员可以通过用户名查询到当前用户信息,以及借阅图书的 信息 返回用户名、电话、借阅的书名、借阅时间、归还时间

        (2) 管理员可以通过模糊查询的方式,查询到用户信息及借阅图书 信息

6,新增图书功能

        (1) 管理员可以增加一本图书

7,删除图书功能

        (1) 管理员可以删除一本图书

8,修改图书功能

        (1) 管理员可以修改一本图书信息,修改图书的数量

9,查询图书信息

        (1) 管理员可以根据书名,查询某本图书信息

        (2) 管理员可以查询所有图书信息

10,增加借阅信息

         (1) 如果用户需要借书,需要通过管理员添加借书信息,如果用户 借书数量已经超过3本,则不能再借书,必须要归还图书后才能借 书

        (2) 查看用户借书是否存在逾期,每本书的默认借阅时长是60 天,如果超过时间则提示逾期,不能再借书

11,查询所有借阅信息

         (1) 管理员可以查询所有借阅信息,查看图书借阅状态

12,还书功能

        (1) 管理员可以为用户办理还书功能

用户端功能

        1,用户登录

        2,查看个人信息

        3,修改个人信息,不能修改用户名

        4,修改密码

        5,查看所有图书信息

        6,查看自己的借阅信息

        7,查看自己是否存在逾期借阅信息

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值