文章目录
前言
本次课程设计基于教材《Java基础案例教程(第二版)》中的第十三章,对课程源码的整理和分享。整个课程设计,我整理了mysql数据库的两个版本:5.7和8.0,方便各位码友们的学习!
开发环境:
- jdk8
- mysql数据库
- intelliJ IDEA
一、功能结构
图书管理系统分为用户界面和管理员界面,结构下图所示:
二、项目预览
用户界面:
管理界面:
三、数据库的设计
E—R图设计:
1、用户实体的设计
2、图书实体的设计
3、图书类别实体
4、图书借阅详情实体
四、数据表的设计
用户实体表的设计:
#创建数据库CREATEDATABASE bookmanager;USE bookmanager;SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS =0;#创建用户表userDROPTABLEIFEXISTS`user`;CREATETABLE`user`(`id`INT(11)NOTNULLAUTO_INCREMENT,#用户主键id`username`VARCHAR(255)CHARACTERSET utf8 COLLATE utf8_general_ci NULLDEFAULTNULL,#用户名`password`VARCHAR(255)CHARACTERSET utf8 COLLATE utf8_general_ci NULLDEFAULTNULL,#用户密码`role`INT(255)NULLDEFAULTNULLCOMMENT'角色 1学生 2管理员',#用户分类`sex`VARCHAR(1)CHARACTERSET utf8 COLLATE utf8_general_ci NULLDEFAULTNULL,#用户性别`phone`CHAR(11)CHARACTERSET utf8 COLLATE utf8_general_ci NULLDEFAULTNULL,#用户电话PRIMARYKEY(`id`)USINGBTREE)ENGINE=INNODBAUTO_INCREMENT=12CHARACTERSET= utf8 COLLATE= utf8_general_ci ROW_FORMAT = COMPACT;#插入数据INSERTINTO`user`VALUES(1,'xkj','xkj123',1,'男','13195648799');INSERTINTO`user`VALUES(2,'admin','111111',2,'男','13198645975');INSERTINTO`user`VALUES(3,'徐某人','xkj123',1,'女','13195648529');INSERTINTO`user`VALUES(4,'肖淼','sdf78978',1,'女','13195698458');SET FOREIGN_KEY_CHECKS =1;
书籍表的设计:
#创建书籍表bookDROPTABLEIFEXISTS`book`;CREATETABLE`book`(`id`INT(11)NOTNULLAUTO_INCREMENT,#图书表主键`book_name`VARCHAR(255)CHARACTERSET utf8 COLLATE utf8_general_ci NULLDEFAULTNULL,#图书名称`type_id`INT(11)NULLDEFAULTNULL,#图书类别`author`VARCHAR(255)CHARACTERSET utf8 COLLATE utf8_general_ci NULLDEFAULTNULL,#作者`publish`VARCHAR(255)CHARACTERSET utf8 COLLATE utf8_general_ci NULLDEFAULTNULL,#出版社`price`DOUBLE(10,2)NULLDEFAULTNULL,#图书价格`number`INT(11)NULLDEFAULTNULL,#图书数量`status`INT(11)NULLDEFAULT1COMMENT'状态 1上架0下架',#借阅状态`remark`VARCHAR(255)CHARACTERSET utf8 COLLATE utf8_general_ci NULLDEFAULTNULL,#图书描述PRIMARYKEY(`id`)USINGBTREE)ENGINE=INNODBAUTO_INCREMENT=16CHARACTERSET= utf8 COLLATE= utf8_general_ci ROW_FORMAT = COMPACT;#插入数据INSERTINTO`book`VALUES(1,'Java核心技术',1,'霍斯特曼','人民邮电出版社',69.00,16,1,'Java基础教学');INSERTINTO`book`VALUES(2,'Tomcat与Java web',1,'孙卫琴','人民邮电出版社',119.00,16,1,'javaweb教学');INSERTINTO`book`VALUES(3,'MySQL基础教程',1,'西泽梦路','人民邮电出版社',129.00,16,1,'MySQL基础教学');INSERTINTO`book`VALUES(4,'西游记',3,'吴承恩','机械工业出版社',23.00,213,1,'四大名著之一');INSERTINTO`book`VALUES(6,'SpringCloud微服务架构开发',1,'黑马程序员','人民邮电出版社',28.00,20,1,'微服务实战开发');INSERTINTO`book`VALUES(7,'水浒传',3,'施耐庵 ','人民文学出版社',29.00,30,1,'四大名著之一');
图书类别表的设计:
#创建图书类别表DROPTABLEIFEXISTS`book_type`;CREATETABLE`book_type`(`id`INT(11)NOTNULLAUTO_INCREMENT,#图书类别主键`type_name`VARCHAR(255)CHARACTERSET utf8 COLLATE utf8_general_ci NULLDEFAULTNULL,#类别名称`remark`VARCHAR(255)CHARACTERSET utf8 COLLATE utf8_general_ci NULLDEFAULTNULL,#类别描述PRIMARYKEY(`id`)USINGBTREE)ENGINE=INNODBAUTO_INCREMENT=4CHARACTERSET= utf8 COLLATE= utf8_general_ci ROW_FORMAT = COMPACT;#插入数据INSERTINTO`book_type`VALUES(1,'技术','技术类');INSERTINTO`book_type`VALUES(2,'人文','人文类');INSERTINTO`book_type`VALUES(3,'小说','人生情感小说');
图书借阅详情表的设计:
#创建图书借阅详情表DROPTABLEIFEXISTS`borrowdetail`;CREATETABLE`borrowdetail`(`id`INT(11)NOTNULLAUTO_INCREMENT,#图书借阅详情表主键`user_id`INT(11)NOTNULL,#用户id`book_id`INT(11)NOTNULL,#图书id`status`INT(11)NOTNULLCOMMENT'状态 1在借2已还',#借阅状态`borrow_time`BIGINT(20)NULLDEFAULTNULL,#借阅时间`return_time`BIGINT(20)NULLDEFAULTNULL,#归还时间PRIMARYKEY(`id`)USINGBTREE)ENGINE=INNODBAUTO_INCREMENT=27CHARACTERSET= utf8 COLLATE= utf8_general_ci ROW_FORMAT = COMPACT;#插入数据INSERTINTO`borrowdetail`VALUES(1,1,2,2,1546414916391,1546414948498);INSERTINTO`borrowdetail`VALUES(2,1,3,2,1546414932877,1556417443285);INSERTINTO`borrowdetail`VALUES(3,1,2,2,1546416530026,1546416640210);INSERTINTO`borrowdetail`VALUES(4,1,1,2,1546565100120,1556334334816);INSERTINTO`borrowdetail`VALUES(5,1,4,1,1546565102870,NULL);INSERTINTO`borrowdetail`VALUES(6,3,1,2,1546565519776,1556207839074);INSERTINTO`borrowdetail`VALUES(7,3,4,1,1546565522374,NULL);INSERTINTO`borrowdetail`VALUES(8,1,1,1,1556427836809,NULL);INSERTINTO`borrowdetail`VALUES(9,4,3,1,1556433544156,NULL);INSERTINTO`borrowdetail`VALUES(10,7,5,1,1556503388763,NULL);INSERTINTO`borrowdetail`VALUES(11,8,5,2,1556507260569,1556507349243);
五、代码实现
以mysql最新版本8为例:
如果有想要源码的码友们,可以私信我哦✔
总结
通过图书管理系统这次设计,可以了解到开发一个项目,可以把它分成若干个小模块,分别有着不同的功能;然后分别为每个模块设计所需要的类;最后分步实现每个模块的功能。可以对Java流程开发程序流程有了整体的认识,为以后javaweb开发的学习奠定了基础。
版权归原作者 我是一棵卷心菜 所有, 如有侵权,请联系我们删除。