【Java课程设计】基于Java Swing 的图书管理系统

这篇具有很好参考价值的文章主要介绍了【Java课程设计】基于Java Swing 的图书管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


【Java课程设计】基于Java Swing 的图书管理系统

前言

🎁作者简介:在校大学生一枚,Java领域新星创作者,Java、Python正在学习中。

💗个人主页:我是一棵卷心菜的个人主页

🍂日常学习网站:牛客网,可以用来刷算法题、工作内推、面经复习、练习SQL等等,很不错的多功能网站。点击注册学习刷题吧!

📕自我提醒:多学多练多思考,编程能力才能节节高!

本次课程设计基于教材《Java基础案例教程(第二版)》中的第十三章,对课程源码的整理和分享。整个课程设计,我整理了mysql数据库的两个版本:5.7和8.0,方便各位码友们的学习!

开发环境:

  • jdk8
  • mysql数据库
  • intelliJ IDEA

一、功能结构

图书管理系统分为用户界面和管理员界面,结构下图所示:
【Java课程设计】基于Java Swing 的图书管理系统
【Java课程设计】基于Java Swing 的图书管理系统

二、项目预览

用户界面:

【Java课程设计】基于Java Swing 的图书管理系统
管理界面:

【Java课程设计】基于Java Swing 的图书管理系统

三、数据库的设计

E—R图设计:

  • 1、用户实体的设计
    【Java课程设计】基于Java Swing 的图书管理系统

  • 2、图书实体的设计
    【Java课程设计】基于Java Swing 的图书管理系统

  • 3、图书类别实体
    【Java课程设计】基于Java Swing 的图书管理系统

  • 4、图书借阅详情实体
    【Java课程设计】基于Java Swing 的图书管理系统

四、数据表的设计

  • 用户实体表的设计:
#创建数据库
CREATE DATABASE bookmanager;

USE bookmanager;

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

#创建用户表user
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` INT(11) NOT NULL AUTO_INCREMENT, #用户主键id
  `username` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, #用户名
  `password` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, #用户密码
  `role` INT(255) NULL DEFAULT NULL COMMENT '角色  1学生 2管理员', #用户分类
  `sex` VARCHAR(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, #用户性别
  `phone` CHAR(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, #用户电话
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = INNODB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

#插入数据
INSERT INTO `user` VALUES (1, 'xkj', 'xkj123', 1, '男', '13195648799');
INSERT INTO `user` VALUES (2, 'admin', '111111', 2, '男', '13198645975');
INSERT INTO `user` VALUES (3, '徐某人', 'xkj123', 1, '女', '13195648529');
INSERT INTO `user` VALUES (4, '肖淼', 'sdf78978', 1, '女', '13195698458');

SET FOREIGN_KEY_CHECKS = 1;
  • 书籍表的设计:
#创建书籍表book
DROP TABLE IF EXISTS `book`;
CREATE TABLE `book`  (
  `id` INT(11) NOT NULL AUTO_INCREMENT, #图书表主键
  `book_name` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, #图书名称
  `type_id` INT(11) NULL DEFAULT NULL, #图书类别
  `author` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, #作者
  `publish` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, #出版社
  `price` DOUBLE(10, 2) NULL DEFAULT NULL, #图书价格
  `number` INT(11) NULL DEFAULT NULL, #图书数量
  `status` INT(11) NULL DEFAULT 1 COMMENT '状态 1上架0下架', #借阅状态
  `remark` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, #图书描述
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = INNODB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

#插入数据
INSERT INTO `book` VALUES (1,'Java核心技术',1,'霍斯特曼','人民邮电出版社',69.00,16,1,'Java基础教学');
INSERT INTO `book` VALUES (2,'Tomcat与Java web',1,'孙卫琴','人民邮电出版社',119.00,16,1,'javaweb教学');
INSERT INTO `book` VALUES (3,'MySQL基础教程',1,'西泽梦路','人民邮电出版社',129.00,16,1,'MySQL基础教学');
INSERT INTO `book` VALUES (4, '西游记', 3, '吴承恩', '机械工业出版社', 23.00, 213, 1, '四大名著之一');
INSERT INTO `book` VALUES (6, 'SpringCloud微服务架构开发', 1, '黑马程序员', '人民邮电出版社', 28.00, 20, 1, '微服务实战开发');
INSERT INTO `book` VALUES (7, '水浒传', 3, '施耐庵 ', '人民文学出版社', 29.00, 30, 1, '四大名著之一');
  • 图书类别表的设计:
#创建图书类别表
DROP TABLE IF EXISTS `book_type`;
CREATE TABLE `book_type`  (
  `id` INT(11) NOT NULL AUTO_INCREMENT, #图书类别主键
  `type_name` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, #类别名称
  `remark` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, #类别描述
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = INNODB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

#插入数据
INSERT INTO `book_type` VALUES (1, '技术', '技术类');
INSERT INTO `book_type` VALUES (2, '人文', '人文类');
INSERT INTO `book_type` VALUES (3, '小说', '人生情感小说');
  • 图书借阅详情表的设计:
#创建图书借阅详情表
DROP TABLE IF EXISTS `borrowdetail`;
CREATE TABLE `borrowdetail`  (
  `id` INT(11) NOT NULL AUTO_INCREMENT, #图书借阅详情表主键
  `user_id` INT(11) NOT NULL, #用户id
  `book_id` INT(11) NOT NULL, #图书id
  `status` INT(11) NOT NULL COMMENT '状态  1在借2已还', #借阅状态
  `borrow_time` BIGINT(20) NULL DEFAULT NULL, #借阅时间
  `return_time` BIGINT(20) NULL DEFAULT NULL, #归还时间
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = INNODB AUTO_INCREMENT = 27 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

#插入数据
INSERT INTO `borrowdetail` VALUES (1, 1, 2, 2, 1546414916391, 1546414948498);
INSERT INTO `borrowdetail` VALUES (2, 1, 3, 2, 1546414932877, 1556417443285);
INSERT INTO `borrowdetail` VALUES (3, 1, 2, 2, 1546416530026, 1546416640210);
INSERT INTO `borrowdetail` VALUES (4, 1, 1, 2, 1546565100120, 1556334334816);
INSERT INTO `borrowdetail` VALUES (5, 1, 4, 1, 1546565102870, NULL);
INSERT INTO `borrowdetail` VALUES (6, 3, 1, 2, 1546565519776, 1556207839074);
INSERT INTO `borrowdetail` VALUES (7, 3, 4, 1, 1546565522374, NULL);
INSERT INTO `borrowdetail` VALUES (8, 1, 1, 1, 1556427836809, NULL);
INSERT INTO `borrowdetail` VALUES (9, 4, 3, 1, 1556433544156, NULL);
INSERT INTO `borrowdetail` VALUES (10, 7, 5, 1, 1556503388763, NULL);
INSERT INTO `borrowdetail` VALUES (11, 8, 5, 2, 1556507260569, 1556507349243);

五、代码实现

以mysql最新版本8为例:
【Java课程设计】基于Java Swing 的图书管理系统
如果有想要源码的码友们,可以私信我哦✔

总结

通过图书管理系统这次设计,可以了解到开发一个项目,可以把它分成若干个小模块,分别有着不同的功能;然后分别为每个模块设计所需要的类;最后分步实现每个模块的功能。可以对Java流程开发程序流程有了整体的认识,为以后javaweb开发的学习奠定了基础。文章来源地址https://www.toymoban.com/news/detail-467769.html

到了这里,关于【Java课程设计】基于Java Swing 的图书管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库课程设计-图书馆管理系统(3. 用户软件,基于QT)

    如果对你有帮助,可以给卑微的博主留个赞、关注、收藏   (不是)  (骗一下数据,说不定以后面试就过了,拜谢) 用户软件的实现根据自己所用语言选择对应开发工具,c++ 较常用的是QT或者MFC。这里使用QT做个示例,但博主前端属实现学现卖,也就是能用级别,可以参考一下

    2024年02月09日
    浏览(38)
  • Java Swing 图书借阅系统 窗体项目 期末课程设计 窗体设计

    视频教程: 【课程设计】图书借阅系统 功能描述: 图书管理系统有三个角色,系统管理员、图书管理员、借阅者; 系统管理员可以添加借阅用户; ​图书管理员可以添加图书,操作图书借阅和归还; 借阅者可以查看自己的借阅记录; 1.1 登录功能 登录时可选择角色,登录

    2024年01月23日
    浏览(27)
  • java swing实训项目(图书管理系统)

    学校老师任务,因为我也是新手所以写的不是特别的好,所以可以提供参考。   登录页面   注册页面

    2024年02月11日
    浏览(29)
  • 数据库课程设计-图书馆管理系统(2.数据库实现-基于mysql)

    如果对你有帮助,可以给卑微的博主留个赞、关注、收藏   (不是)  (骗一下数据,说不定以后面试就过了,拜谢) 好像有读者说现在不要积分的资源也要vip才能下,如果下不了可以留邮箱到评论区或者私聊,我也把资源放到github了,地址如下: https://github.com/goLSX/library_mana

    2024年02月06日
    浏览(37)
  • 【JAVA】 图书管理系统(javaSE简易版 内含画图分析) | 期末大作业&课程设计

    作者主页:paper jie 的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVA》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将javaSE基础知识一网打尽,希望可以帮到读者们哦。 其他专栏:《算法详

    2024年02月09日
    浏览(37)
  • 图书馆管理系统【GUI/Swing+MySQL】(Java课设)

    Swing窗口类型+Mysql数据库存储数据 适合作为Java课设!!! jdk1.8+Mysql8.0+Idea或eclipse+jdbc  本系统源码地址:https://download.csdn.net/download/qq_50954361/87682509 更多Java课设系统:更多Java课设系统 更多Java课设系统运行效果展示:更多Java课设系统运行效果展示  部署教程地址:Java课设部

    2023年04月19日
    浏览(33)
  • Java Swing图书管理系统,界面漂亮、功能全,直接使用 窗体版本-400

    今天为大家分享一个java语言编写的图书管理程序-400,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步 开发语言为Java,开发环境Eclipse或者IDEA都可以,数据为MySQL。运行主程

    2024年02月13日
    浏览(27)
  • C语言课程设计-图书管理系统

    需求分析:   为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询

    2024年02月04日
    浏览(29)
  • MYSQL课程设计——图书管理系统(一)

      图书借阅管理是学校工作中的一项重要内容,学校图书馆,书目繁多,用户的信息冗杂,且信息数据在每天变化,如果采用人工方式进行管理控制,不仅工作量庞大,而且容易出错。浪费了许多的人力和物力,已不能适应时代的发展。在当今信息时代,这种传统的管理方法

    2024年02月04日
    浏览(30)
  • 图书管理系统——C语言课程设计

    新进图书基本信息的输入 图书借本信息的查询 对撤销图书的删除 办理借书手续 办理还书手续 提供使用文件方式存储数据 新进图书的输入,首先要输入要添加的书的基本信息,如:书名、书号、价格、作者,再通过fprintf()函数将输入的信息写入文件中 图书信息的查询可分为

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包