首页 > 数据库 >图书管理系统(Java--数据库课设)

图书管理系统(Java--数据库课设)

时间:2024-07-20 12:54:08浏览次数:14  
标签:Java 课设 user1 -- System else println NULL out

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

相关文章

  • http协议简介以及其请求和响应
    简介HTTP是hypertexttransferprotocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。H......
  • 毕设项目:springboot+vue实现的在线求职平台
    一、前言    随着信息技术的飞速发展和互联网的普及,线上求职已成为众多求职者和企业招聘的重要渠道。为满足市场需求,我们利用SpringBoot和Vue技术栈,开发了一款功能全面、用户友好的在线求职平台。本文将对该平台的设计、实现及关键技术进行详细介绍。本文介绍基于spring......
  • [rCore学习笔记 016]实现应用程序
    写在前面本随笔是非常菜的菜鸡写的。如有问题请及时提出。可以联系:[email protected]:https://github.com/WindDevil(目前啥也没有设计方法了解了特权级机制,实际上如果要设计一个应用程序就需要保证它符合U模式的要求,不要去访问S模式下的功能,那么其实现要点是:应......
  • influxdb 查看和设置用户权限
    转载请注明出处:1.查看用户>SHOWUSERS运行示例:>SHOWUSERSuseradmin---------admintruereadonlyfalsemonitor_userfalse>2.创建用户CREATEUSER"myusername"WITHPASSWORD'mypassword'WITHALLPRIVILE......
  • kali内存取证-volatility
    volatility2安装Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。Volatility2.6需要python2,pip安装模块也需要2版本安装pip2Volatility2.6需要python2,pip安装模块也需要2版本,所以首先安装pi......
  • 支付宝,微信,充值遇到的到账延迟
    充值遇到的到账延迟前言延迟到账的问题定位参考充值遇到的到账延迟前言最近公司的充值,遇到了几个问题,用户反馈成功付钱了,页面也提示充值成功了,但是充值的道具没有即时到账。这时候,我的第一反应就是,充值的回调延迟了吗,后端接收到成功的通知,在操作更新订单状态的时候时......
  • MBA-3006 Business Law and Ethics
    COURSETITLE: Business Lawand EthicsCOURSE#: MBA-3006QUARTER/TERMOFFERED:Summer2024COURSE DATES: 1July–8September2024PROFESSOR'S PHILOSOPHYOFTEACHINGCOURSEDESCRIPTION:Thiscourse introducesbasiclegalframeworksforbusiness, and......
  • 功能强大的 Excel 插件ASAP Utilities 8.6 for Excel Pro +KEY
    ASAP实用程序是微软Excel程序的一组强大的附加工具和功能。ASAP实用程序专为提高电子表格的工作效率而设计,提供了广泛的功能,可以改善数据处理、分析、格式化等过程。该程序包括300多个有用的工具,允许用户在Excel中节省时间并简化日常任务的执行。它们涵盖了各种工作领域,包括......
  • 简洁实用的原创度检测工具AntiPlagiarism NET 4.132
    AntiPlagiarismNET是一个适用于Windows的程序,它允许您检查文本的唯一性和从不同Internet来源借用的存在。使用AntiPlagiarismNET,您可以:将程序用于不同的目的该程序适用于学生、教师、记者、文案作者和其他需要检查其文本或其他作者文本的原创性的用户,该程序将帮助您避免抄......
  • 【北航主办丨本届SPIE独立出版丨已确认ISSN号】第三届智能机械与人机交互技术学术会议
    由北京航空航天大学指导,北京航空航天大学自动化科学与电气工程学院主办,AEIC学术交流中心承办的第三届智能机械与人机交互技术学术会议(IHCIT2024)将定于2024年7月27日于中国杭州召开。大会面向基础与前沿、学科与产业,旨在将“人工智能”、“智能系统”和“人机交互”等学......