基于SSM和Layui实现的图书管理系统
1. 项目介绍
通过一段时间对SSM整合的学习,对基本理论以及主要知识点的掌握,实现简易图书管理系统,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚好项目有更深刻的理解。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。这次,先说说三大框架整合过程。个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。不过,如果用都不会,谈思想就变成纸上谈兵了!!!先技术,再思想。实践出真知。
项目中相关的配置文件,大家可以拿来直接copy ,只需要改改里面的包名以及Mapper.xml配置即可使用。
分为管理员、用户和图书模块。其中管理员实现了登录,对读者与图书的增删改查,还有管理读者的图书借阅、续借、归还、预约和逾期处理。
该项目已实现功能:
-
管理员的登录与退出,登录错误提示
-
图书的新增,修改,下架,彻底删除,重新上架,分页显示,按照图书标题与作者名字模糊查询
-
还有其它未完成的功能可自由发挥,包括登录后的欢迎页面可自由发挥
-
该系统执行过程无任何报错,如果出现错误请仔细检查配置
软件架构
-
MyEclipse
-
SSM框架
-
JSP
-
MySQL8
-
Tomcat8.5
-
Maven
使用说明
-
借阅 :同一本书只可借阅一本,每次可借30天
-
续借 :同一本书只可续借一次,每次续借15天
-
归还 :在归还日期内方可归还图书
-
预约 :当图书余量为0时,可预约该图书
-
逾期处理 :需缴费,分为缴费并还书和缴费未还书
-
上架图书 :需要输入图书基本信息和上架数量
2.数据库设计
2.1 表结构
管理员表
图书表
借阅记录表
分类表
2.2 E-R图
3.搭建数据库
创建一个存放书籍数据的数据库(library_oa),并在该数据库中建立一个名为ms_book的表,代码如下:
``sql
DROP TABLE IF EXISTS
ms_book
;
CREATE TABLE
ms_book
(
id
int(11) NOT NULL AUTO_INCREMENT,
title
varchar(255) DEFAULT NULL COMMENT '书名',
ISBN
varchar(255) DEFAULT NULL COMMENT '统一使用07年新颁布的13位数字',
author
varchar(255) DEFAULT NULL COMMENT '作者',
introduction
varchar(255) DEFAULT NULL COMMENT '简介',
price
varchar(255) DEFAULT NULL COMMENT '价格',
publish_time
varchar(255) DEFAULT NULL COMMENT '出版时间',
category_id
int(10) DEFAULT NULL COMMENT '类别',
image
varchar(255) DEFAULT NULL COMMENT '图片url',
create_time
date DEFAULT NULL COMMENT '上架时间',
create_admin
varchar(255) DEFAULT NULL COMMENT '上架管理员',
update_pre_admin
varchar(255) DEFAULT NULL COMMENT '上一次修改信息的管理员',
del_flg
int(1) DEFAULT NULL,
sum
int(11) NOT NULL,
remainder
int(11) NOT NULL,
PRIMARY KEY (
id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
-- Records of
ms_book
BEGIN;
INSERT INTO
ms_book
VALUES ('1', '活着', '9787506365437', '余华', '《活着》是作家余华的代表作之一,讲述了在大时代背景下,随着内战、三反五反,大跃进,文化大革命等社会变革,徐福贵的人生和家庭不断经受着苦难,到了最后所有亲人都先后离他而去,仅剩下年老的他和一头老牛相依为命。', '25.30', '1923年6月', '1', '', '2019-04-13', 'Bob', '大天狗', '1', '10', '7'), ('3', '2', '2', '2', '2', '2', '2020-05-21', '1', '38a77897-124f-403d-96da-942192b3fa15', '2020-05-21', 'Bob', 'Bob', '1', '2', '0'), ('4', '3', '3', '3', '3', '3', '2020-05-21', '2', '38be617c-5aa3-41b3-bf7e-f343d4a17cf7', '2020-05-21', 'Bob', 'Bob', '1', '3', '1'), ('5', '4', '4', '4', '4', '4', '2020-05-22', '3', 'f4bc6a21-64fb-4ce9-a9ec-fec193362c3d', '2020-05-21', 'Bob', 'Bob', '1', '4', '2'), ('6', '5', '5', '5', '5', '5', '2020-05-21', '4', '3be0532c-48a2-4ea8-b6e0-b1053f18e871', '2020-05-21', 'Bob', 'Bob', '1', '5', '4'), ('7', '6', '6', '6', '6', '6', '2020-05-21', '5', '46ed11c5-5819-4d23-b58a-0a96084e3a12', '2020-05-21', 'Bob', 'Bob', '1', '6', '5'), ('8', '7', '7', '7', '7', '7', '2020-05-21', '6', '63dcaf76-0f07-476b-a529-e0680b15e832', '2020-05-21', 'Bob', 'Bob', '1', '7', '7'), ('9', '8', '8', '8', '8', '8', '2020-05-28', '7', '7ef89434-7c77-47d8-8a2a-2f72866f0ddc', '2020-05-21', 'Bob', 'Bob', '1', '8', '8'), ('10', '9', '9', '9', '9', '9', '2020-05-21', '8', '425b7fd7-c1d3-4bc8-9390-c8d3d4baef7a', '2020-05-21', 'Bob', 'Bob', '1', '9', '9'), ('11', '10', '10', '10', '10', '10', '', '9', 'f4d173fd-b194-4a07-8663-0b47b7e8ab6f', '2020-05-21', 'Bob', 'Bob', '1', '10', '10'), ('12', '11', '11', '11', '11', '11', '2020-05-22', '8', '9500c8d2-ce65-4970-9b3d-3220fe9ed159', '2020-05-21', 'Bob', 'Bob', '1', '11', '11');
COMMIT;
```
写好数据库的配置文件database.properties,该文件可以放在resources目录下,代码如下:
xml
url=jdbc:mysql://localhost:3306/library_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
driver=com.mysql.cj.jdbc.Driver
username=root
password=123456
initialSize=5
maxActive=50
在Maven中导入数据库连接所需要的驱动包(mysql-connector),代码如下:
xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
4.项目展示
4.1 普通用户
登录
首页
图书列表
查询
借阅
续借
4.2 管理员
图书列表
上架书籍
管理借阅记录
读者管理
查看逾期列表
5.总结
尽管现在的Java Web项目的开发多用Spring Boot进行搭建,但是使用相对原生的SSM(Spring + Spring MVC + Mybatis)进行开发,不仅能让我们对于Web项目的搭建流程更加熟悉,还会对我们在日后的学习和工作中大有裨益。
参考文献
- 复旦大学数字图书馆个人图书管理系统的设计与实现(电子科技大学·陆卫国)
- 基于B/S架构的图书管理系统的设计与实现(电子科技大学·郭汝奇)
- 高校图书馆管理系统的分析与设计(云南大学·杜思思)
- 基于B/S架构的图书管理系统的设计与实现(山东大学·蒲琼)
- 安徽工业经济学院图书管理系统的设计与实现(大连理工大学·姚羽)
- 基于SSH框架的图书馆管理系统分析与设计(云南大学·郑晨)
- 基于SSH框架的图书馆管理系统的设计与实现(山东大学·檀雪姣)
- 基于B/S架构的图书管理系统的设计与实现(山东大学·蒲琼)
- 基于SOA的数字资源管理与服务平台的设计与实现(清华大学·齐畅)
- 图书馆随书光盘信息管理系统的设计与实现(西安石油大学·蒋金艳)
- 基于SSH架构的高校自助化图书管理系统的设计与实现(大连理工大学·杨议)
- 基于B/S模式的社区图书馆管理系统的设计与实现(大连理工大学·丁娟娟)
- 基于ASP.NET技术的中山图书Web管理系统的设计与实现(江西财经大学·陈宇)
- 基于Apriori算法的图书馆管理系统的设计与实现(青岛大学·刘玉静)
- 基于SSH框架的图书馆管理系统分析与设计(云南大学·郑晨)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计货栈 ,原文地址:https://m.bishedaima.com/yuanma/35516.html