图书借阅系统
数据库表:
用户表: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;