1、课程设计要求:
实现用户的登陆与注册
用户要区分是管理员还是普通用户
管理员能够对图书的数量、名称等进行增删改查
在书未归还时不可删除
用户能够对图书进行查看和借书以及还书,并记录具体时间
书数量不足时不能够对书籍进行借用
2、代码逻辑以及基础解释
该项目可用于Java或者数据库的课设,系统中所涉及的数据均对接数据库,而非是静态数据,重新运行代码后记录便消失,该系统运行过程中涉及的数据都会保存在对应的数据库当中,该项目暂未对接前端,如果需要的话可以使用tomcat进行部署,对接前端页面达到更好的效果,但考虑到大部分高校在教授Java和数据库时并未涉及到前后端的对接,因此该项目采用了黑窗口命令行的方式运行。
对于一些同学可能对于代码中的一些专业名词以及操作不是很了解,该项目只需导入到自己的编译器中就可以正常运行,所涉及到的文件都配有源码,数据库与Java代码的连接需要用到的JDBC已经封装成类,无需进行手动的配置,只需要将自己的数据库和开发工具安装好即可,有问题可以后台私信我。
3、开发语言以及使用的工具详解
开发语言我所选择的是Java,使用的编译器为idea,该工具下载后可免费使用一个月,后续如果还需要使用可以选择购买或者自行上网寻找破解方法,数据库的话我所使用的是5.7版本的MySQL,该版本比较稳定且长期免费,无需担心收费无法使用的问题,数据库的可视化工具我推荐navicat,该可视化工具界面简洁且功能强大需要长期使用的话可以自行破解一下,初次下载是可以试用14天的,当然这些工具大家可以根据个人情况更改,使用其他的也是可以的并不影响代码的执行,如果遇到问题的话可以后台私信我。
4、数据库建表代码(如需全部代码可前往主页资源下载)
DROP TABLE IF EXISTS `book`;
CREATE TABLE `book` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`bsum` int(11) NULL DEFAULT NULL,
`jiechu` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `jbook`;
CREATE TABLE `jbook` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NULL DEFAULT NULL,
`bid` int(11) NULL DEFAULT NULL,
`jdate` datetime NULL DEFAULT NULL,
`hdate` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`pwd` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`rid` int(11) NOT NULL DEFAULT 2,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
5、项目结构和部分源码及部分运行截图
项目结构
部分源码
//主方法管理员界面
public void menu(User user){
System.out.println();
System.out.println(" ---小张图书管理系统--- " +
" ");
System.out.println("***【1】查看图书列表 【2】添加图书 【3】修改图书 " +
"【4】删除图书 【0】返回上一级***");
System.out.println("请选择您要进行的操作:");
int n = sc.nextInt();
if(n==1){
checkBook();
menu(null);
}else if (n==2){
addBook();
menu(null);
}else if(n==3){
alterBook();
menu(null);
}else if (n==4){
deleteBook();
menu(null);
}else if(n==0){
new UserController().menu(user);
}else {
System.out.println("输入错误,请重新输入!");
menu(null);
}
}
//用户界面
public void usermenu(User user){
User user1 = user;
System.out.println();
System.out.println(" ---小张图书系统--- " +
" ");
System.out.println("***【1】查看图书列表 【2】借书 【3】还书 " +
"【4】查看借书记录 【0】返回上一级***");
System.out.println("请选择您要进行的操作:");
int n = sc.nextInt();
if(n==1){
checkBook();
usermenu(user1);
}else if (n==2){
borrowBook(user1);
usermenu(user1);
}else if(n==3){
returnBook(user1);
usermenu(user1);
}else if (n==4){
jmenu(user1);
}else if(n==0){
new UserController().menu(user1);
}else{
System.out.println("输入错误,请重新输入!");
usermenu(user1);
}
}
public void jmenu(User user){
User user1 = user;
System.out.println();
System.out.println(" ---借书记录---" +
" ");
System.out.println("***【1】查看所有 【2】查看已归还的借书记录 " +
"【3】查看未归还的借书记录 【0】返回上一级***");
System.out.println("请选择您要进行的操作:");
int n = sc.nextInt();
if(n==1){
checkJbook(user1);
jmenu(user1);
}else if (n==2){
checkHbook(user1);
jmenu(user1);
}else if(n==3){
checkWHbook(user1);
jmenu(user1);
}else if (n==0){
usermenu(user1);
}else{
System.out.println("输入错误,请重新输入!");
jmenu(user1);
}
}
部分运行截图
如需了解更多功能或者获取全部源码请后台私信我!!!
标签:Java,课设,user1,--,System,else,println,NULL,out From: https://blog.csdn.net/weixin_68489989/article/details/140531554