概要
使用Spring、SpringMVC、mybatis、JSP、MySQL等技术制作一个图书管理系统的网站
整体架构流程
图书管理系统整体设计功能如下
图书管理系统项目前端界面结构
后端
(1)验证码的生成与实现
(2)控制层
通过接收前端请求传过来的参数进行业务操作,并返回相应的数据给前端
(3)业务层(存放的是业务处理逻辑)
(4)持久层(存放对数据库进行持久化操作的接口)
(5)登录拦截器
(6)实体类
(7)工具类(存放返回状态类、数据封闭类)
(8)Maaper.xml文件
(9)其他配置文件
技术名词解释
- Spring:Spring Framework 是用Apache许可的形式来发布的,是一个开源的Java/Java EE应用程序框架,同时是一种全功能的栈;也有一切其他平台的移植版本;Spring Framework使开发变得简单容易了很多,这种简单的开发方式就会让那些产生可能使底层代码复杂混乱的代码不会出现。避免了大量的复杂类和文件的产生。本系统主要使用了Spring的IOC容器进行对象依赖的管理,同时使用了Spring提供的AOP功能来进行登陆权限判断、异常处理等。
- SpringMVC:Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。
- mybatis:mybatis是一个用Java编写的持久层框架,它使用ORM实现了结果集的封装。ORM是Object Relational Mapping 对象关系映射。简单来说,就是把数据库表和实体类及实体类的属性对应起来,让开发者操作实体类就实现操作数据库表。它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接等烦杂过程
- JSP:JSP,ASP,PHP是现代流行的动态网页技术标准,是有一些十分优秀的大公司结合实际需求制定的一个标准。在以前众所周知的HTML程序段中添加一些具有特殊意义的java程序段以及自己特定的jsp标签属性,由此形成了JSP文件。当然,jsp完全继承了Java的一些优秀的特点,能够应用与各种不同的平台之上。为了满足我们对动态网站迅速开发的目标,到达编程人员的身心需求,缓解人员的工作状态,JSP进一步改进优化:
将具体所需的内容与所要显示的界面进行分离:web开发工程师在进行网站设计的时候,可以采用HTML或者是XML来确定最终页面的具体情况到底是什么界面。通过使用JSP来实现动态页面的制作,其中具体的逻辑过程被封装起来。这样的话,对我们所写的代码具有一定的保护作用,又能保证在任何其他浏览器上都具有一定的可用性。
可重复使用组件:开发人员及软件工程师能够共享和重复使用经常使用的组件。
可以跨平台实现:在市面上的几乎所有平台都支持JSP+servlet+JavaBean,不需要考虑不同平台之间的移植问题。
为了方便与数据库相连接,专业人员开发了JDBC驱动程序来供我们使用。除此之外,sun公司还有许多关于数据库的技术供我们使用参考。这里就不一一介绍,感兴趣的可以自行搜索。 - MySQL:MYSQL是一项公益性的,供编程人员模仿学习,它的存在一直对我们研究学习工作意义非凡,不仅能够降低我们的开发成本,减少投入资金,而且我们可以欣赏到大师级的代码技术和代码风格,最主要的是能够学到他们的设计理念和设计思想。另一方面,MYSQL使用了各种各样的不同风格的编译器和开发工具的测试,使得我们的源代码能够轻松移植到其他平台上,减轻我们的开发。
技术细节
数据库设计
(1)admin 管理员
序号 | 字段 | 说明 | 数据类型 | 长度 | 自增 | 主键 | 允许空 | 默认值 |
1 | id | id | int | √ | × | × | NULL | |
2 | username | 用户名 | varchar | 20 | × | × | √ | NULL |
3 | password | 密码 | varchar | 20 | × | × | √ | NULL |
4 | adminType | 管理员类型 | int | × | × | √ | NULL |
(2)book_info 图书信息
序号 | 字段 | 说明 | 数据类型 | 长度 | 自增 | 主键 | 允许空 | 默认值 |
1 | id | id | int | √ | × | × | NULL | |
2 | name | 图书名称 | varchar | 20 | × | × | √ | NULL |
3 | author | 作者 | varchar | 30 | × | × | √ | NULL |
4 | publish | 出版社 | varchar | 30 | × | × | √ | NULL |
5 | isbn | 书籍编号 | varchar | 30 | × | × | √ | NULL |
6 | introduction | 简介 | varchar | 50 | × | × | √ | NULL |
7 | language | 语言 | varchar | 20 | × | × | √ | NULL |
8 | price | 价格 | double | × | × | √ | NULL | |
9 | publish_date | 出版时间 | date | × | × | √ | NULL | |
10 | type_id | 书籍类型 | int | × | × | √ | NULL | |
11 | status | 状态:0未借出,1已借出 | int | × | × | √ | NULL |
(3)lend_list 借阅记录
序号 | 字段 | 说明 | 数据类型 | 长度 | 自增 | 主键 | 允许空 | 默认值 |
1 | id | id | int | √ | × | × | NULL | |
2 | bookId | 图书id | int | × | × | √ | NULL | |
3 | readerId | 读者id | int | × | × | √ | NULL | |
4 | lendDate | 借书时间 | datetime | × | × | √ | NULL | |
5 | backDate | 还书时间 | datetime | × | × | √ | NULL | |
6 | backType | 还书状态 | int | × | × | √ | NULL | |
7 | exceptRemarks | 备注信息 | varchar | 255 | × | × | √ | NULL |
(4)notice 公告
序号 | 字段 | 说明 | 数据类型 | 长度 | 自增 | 主键 | 允许空 | 默认值 |
1 | id | id | int | √ | × | × | NULL | |
2 | topic | 公告标题 | varchar | 50 | × | × | √ | NULL |
3 | content | 公告内容 | varchar | 255 | × | × | √ | NULL |
4 | author | 发布人 | varchar | 20 | × | × | √ | NULL |
5 | createDate | 公告发布时间 | datetime | × | × | √ | NULL |
(5)reader_info 读者信息(包括登录账号密码等)
序号 | 字段 | 说明 | 数据类型 | 长度 | 自增 | 主键 | 允许空 | 默认值 |
1 | id | id | int | √ | × | × | NULL | |
2 | username | 用户名 | varchar | 20 | × | × | √ | NULL |
3 | password | 密码 | varchar | 20 | × | × | √ | NULL |
4 | realName | 真实姓名 | varchar | 20 | × | × | √ | NULL |
5 | sex | 性别 | varchar | 5 | × | × | √ | NULL |
6 | birthday | 出生日期 | date | × | × | √ | NULL | |
7 | address | 籍贯 | varchar | 30 | × | × | √ | NULL |
8 | tel | 电话号码 | varchar | 11 | × | × | √ | NULL |
9 | | 邮箱地址 | varchar | 15 | × | × | √ | NULL |
10 | registerDate | 注册日期 | datetime | × | × | √ | NULL | |
11 | readerNumber | 读者编号 | varchar | 20 | × | × | √ | NULL |
(6)type_info 图书类型表
序号 | 字段 | 说明 | 数据类型 | 长度 | 自增 | 主键 | 允许空 | 默认值 |
1 | id | id | int | √ | × | × | NULL | |
2 | name | 图书分类名称 | varchar | 20 | × | × | √ | NULL |
3 | remarks | 备注 | char | 10 | × | × | √ | NULL |
代码文件:
通过百度网盘分享的文件:基于SSM的图书....rar
链接:https://pan.baidu.com/s/1GSULRZ_OyQqUC8SGH8odng
提取码:6N7z
复制这段内容打开「百度网盘APP 即可获取」
小结
登录页面效果:
借阅页面
图书管理页面