SSM + MySQL + Vue2.x + ElementU 图书管理系统(期末作业)

news2024/11/26 20:18:57

图书管理系统

项目介绍

🔥 SSM + MySQL + Vue2.x + ElementUI 🔥

本项目使用 Idea 开发工具采用当前最火的Java + Web前端框架开发,在保证质量的同时界面美观,交互友好,实在是期末大作业的首选项目。

软件架构

使用软件设计三层架构 + 前后端分离开发:

  • 控制Controller层:接收以及响应数据。
  • 业务Service层:对业务逻辑的封装,对数据层方法进行组装。
  • 数据Dao层:和数据库进行交互,进行数据的增删改查。
  • 前端资源页面:放在webapp目录下面,用于前端页面展示。

Dao:data access object

使用前提

下载该项目之前需要下载JDK8+、Maven、MySQL。

项目页面

本项目实现了用户登录/退出功能、图书信息以及借阅者信息的增删改查功能。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装教程

Github、Gitee

如果您并未学习过 Git 或者是并不喜欢 Git 亦或是不想使用 Git 这款工具,那么可以直接从网盘下载。

  • 百度网盘Windows链接:https://pan.baidu.com/s/1waV4zjt9NImKwN6VvdAsEA?pwd=ugyz

  • 阿里云Windows链接:https://www.aliyundrive.com/s/tU8bPKChben

  • 蓝奏云Windows链接:https://wwdi.lanzoum.com/iJ6Hq0wpbi1i

  • 蓝奏云Centos链接:https://wwdi.lanzoum.com/iIBzG0wt8sad 密码:8jg3

  • Linux用户也可以下载windows版本文件然后选择所需的文件上传至Linux服务器,最后运行即可!

部署说明

Windows部署

可以参考《基于SSM 图书管理系统的设计与实现.docx》这个文档。

  1. 导入SQL文件。

    创建一个数据库然后使用图形化界面或者source命令将src\main\resources\demand\bookmanage.sql导入MySQL数据库中。

    -- 这里演示一下使用MySQL命令方式将SQL文件导入
    -- 创建linxuan数据库
    mysql> create database if not exists linxuan;
    Query OK, 1 row affected, 1 warning (0.02 sec)
    
    -- 使用linxuan数据库
    mysql> use linxuan;
    Database changed
    
    -- 导入SQL文件,注意SQL文件不要放在中文目录下面。可以直接复制放在D盘下面,使用完之后删除掉。
    mysql> source /usr/local/bookmanage.sql
    Query OK, 0 rows affected (0.00 sec)
    ...
    
  2. 修改MySQL连接信息。

    修改src\main\resources\jdbc.properties里面的数据库连接URL、连接用户名、连接密码。

    # MySQL驱动,如果是MySQL8不用修改,之前的版本修改为com.mysql.jdbc.Driver
    jdbc.driver=com.mysql.cj.jdbc.Driver
    # MySQL连接信息,将linxuan数据库更改你自己的数据库名称
    jdbc.url=jdbc:mysql://localhost:3306/linxuan?useSSL=false
    # MySQL用户名,可以不更改
    jdbc.username=root
    # 更改为你自己的登录密码
    jdbc.password=123456
    
  3. 下载Lombok插件。

    Lombok能够帮助我们简化开发,使用它不仅需要在pom.xml中引入依赖,同样需要在IDEA里面下载该插件。点击File -> Settings -> Plugins,转到插件仓库。
    在这里插入图片描述

  4. 下载依赖。

    点击Maven刷新图标,下载所需依赖。

    在这里插入图片描述

  5. 启动项目。

    本项目使用了 Tomcat 插件解决了用户部署困难的问题,所以这里仅教授采用插件来部署项目。您可自行选择是否使用本地 Tomcat 来部署项目。

    下载好所有的 Maven 依赖之后点击 Maven 图标,找到Plugins,点击「tomcat7:run」即可成功启动。打开浏览器http://localhost/page/login.html页面即可成功访问,账号为admin,密码为123456。

    在这里插入图片描述

Linux部署

部署前提:安装JDK + Maven + MySQL

Git 方式

在本仓库一共有两个分支,master和test,其中test分支并没有《基于SSM 图书管理系统的设计与实现.docx》文档,因此下载速度较快。当然上面网盘的压缩包里面是有这个文档的。

[root@linxuanVM ~]# cd /opt/app/test/
[root@linxuanVM test]# ll
total 0

# 克隆test分支
[root@linxuanVM test]# git clone -b test git@github.com:linxuanstar/bookProject.git
Cloning into 'bookProject'...
remote: Enumerating objects: 153, done.
remote: Counting objects: 100% (153/153), done.
remote: Compressing objects: 100% (120/120), done.
remote: Total 153 (delta 22), reused 151 (delta 20), pack-reused 0
Receiving objects: 100% (153/153), 36.41 MiB | 5.66 MiB/s, done.
Resolving deltas: 100% (22/22), done.

# 查看克隆下来的文件
[root@linxuanVM test]# cd bookProject/
[root@linxuanVM bookProject]# ll
total 56
-rw-r--r-- 1 root root 35147 May 21 11:10 LICENSE
-rw-r--r-- 1 root root  5521 May 21 11:10 pom.xml
-rw-r--r-- 1 root root  4619 May 21 11:10 README.md
drwxr-xr-x 4 root root  4096 May 21 11:10 src

# 登录MySQL将SQL文件给导入数据库中
[root@linxuanVM bookProject]# mysql -u root -p
Enter password: 
# 创建linxuan数据库
mysql> create database if not exists linxuan;
Query OK, 1 row affected, 1 warning (0.02 sec)
# 使用linxuan数据库
mysql> use linxuan;
Database changed
# 导入SQL文件
mysql> source /opt/app/test/bookProject/src/main/resources/demand/bookmanage.sql
Query OK, 0 rows affected (0.00 sec)
...
# 退出MySQL
mysql> exit

# 看一下是否需要修改自己的MySQL连接信息,用户名、密码是否正确。
# 如果需要修改那么使用 vim 命令修改./src/main/resources/jdbc.properties文件


# 执行tomcat7插件,这样就开始运行了,日志会在控制台打印。如果想要日志在文件中打印需要配置log4j.xml
# 执行该插件之后会下载系列的jar包,用于编译、测试、打包...
[root@linxuanVM bookProject]# mvn tomcat7:run

插件中设置的端口号为80,因此打开本地浏览器访问http://YourLinuxIP/page/login.html页面即可成功访问,账号为admin,密码为123456。

压缩包下载

# 使用lrzsz或者FileZilla等文件上传工具将压缩包上传至Linux服务器
[root@linxuanVM test]# ll
total 856
-rw-r--r-- 1 root root 869207 May 21 14:42 bookProject.tar.gz
drwxr-xr-x 3 root root   4096 May 21 14:38 bookProjectTmp
# 将文件解压至当前目录
[root@linxuanVM test]# tar -zxvf bookProject.tar.gz 
...

# 查看当前目录下文件
[root@linxuanVM test]# ll
total 860
drwxr-xr-x 3 root root   4096 May 21 14:43 bookProject
-rw-r--r-- 1 root root 869207 May 21 14:42 bookProject.tar.gz
drwxr-xr-x 3 root root   4096 May 21 14:38 bookProjectTmp
# 进入bookProject目录
[root@linxuanVM test]# cd bookProject
# 查看当前目录下面文件
[root@linxuanVM bookProject]# ll
total 56
-rw-r--r-- 1 root root 35821 May 21 14:38 LICENSE
-rw-r--r-- 1 root root  5671 May 21 14:38 pom.xml
-rw-r--r-- 1 root root  6467 May 21 14:38 README.md
drwxr-xr-x 4 root root  4096 May 21 14:38 src


# 登录MySQL将SQL文件给导入数据库中
[root@linxuanVM bookProject]# mysql -u root -p
Enter password: 
# 创建linxuan数据库
mysql> create database if not exists linxuan;
Query OK, 1 row affected, 1 warning (0.02 sec)
# 使用linxuan数据库
mysql> use linxuan;
Database changed
# 导入SQL文件
mysql> source /opt/app/test/bookProject/src/main/resources/demand/bookmanage.sql
Query OK, 0 rows affected (0.00 sec)
...

# 看一下是否需要修改自己的MySQL连接信息,用户名、密码是否正确。
# 如果需要修改那么使用 vim 命令修改./src/main/resources/jdbc.properties文件


# 执行mvn clean命令,看一下mvn是否可以成功运行
[root@linxuanVM bookProject]# mv clean
# 执行tomcat7插件,这样就开始运行了,日志会在控制台打印。如果想要日志在文件中打印需要配置log4j.xml
# 执行该插件之后会下载系列的jar包,用于编译、测试、打包...
[root@linxuanVM bookProject]# mvn tomcat7:run

插件中设置的端口号为80,因此打开本地浏览器访问http://YourLinuxIP/page/login.html页面即可成功访问,账号为admin,密码为123456。

注意事项

  • 修改前端页面后浏览器没有更换样式,那么可以使用「Ctrl + F5」快捷键清除浏览器缓存强制更新前端页面。
  • 数据库的 SQL 文件在逻辑上是有一点问题的,可以自行修改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/551572.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HashMap源码详解

文章目录 简单介绍提出问题流程说明及验证put元素的流程怎样找到要存储的下标位置的?什么时候会扩容? 加载因子、阈值这些有什么含义?怎样扩容的?扩容的流程.链表可以转成红黑树, 那会从红黑树转成链表吗?什么时候会从链表转成红黑树 小总结 简单介绍 HashMap是Java中最最…

Metal入门学习:绘制纹理图片

一、编程指南PDF下载链接(中英文档) 1、Metal编程指南PDF链接 https://github.com/dennie-lee/ios_tech_record/raw/main/Metal学习PDF/Metal 编程指南.pdf 2、Metal着色语言(Metal Shader Language:简称MSL)编程指南PDF链接 https://github.com/dennie-lee/ios_te…

Linux服务器丨重测序数据分析常用软件安装指南

重测序分析软件安装指南 重测序(resequencing)是指对已知基因组进行高通量测序,以检测个体或种群的遗传变异,从而研究基因组的结构和功能。与全基因组测序不同,重测序通常只对一部分基因组进行测序,例如外显…

【2023 雷泽杯 · Misc】我是签到题

一道图片隐写题 目录 一、题目 二、思路 1.010editor查看源码 2.检索头部关键字段 3.图片隐写——高度隐写 一、题目 看不到这个图片对吧,这就是题目原本的样子。 二、思路 1.010editor查看源码 很明显的rar特征,尝试将后缀改成rar后打开。 发…

《Java就业班体系结构.pdf》:从入门到精通,掌握Java开发的终极指南,成为熟练高级开发者!

Java开发的终极指南 第1阶段:JAVA开篇第2阶段:JAVA语言语法第3阶段:集成开发工具的使用第4阶段:面向对象第5阶段:JavaSE进阶学习第6阶段:数据库JDBC第7阶段:前端精讲第8阶段:JavaEE第…

RocketMQ的学习历程(4)----消息处理 (2)

1.消费者的两种消费模式 顺序消费模式(Sequential Consumer Mode): 在顺序消费模式下,消息队列中的消息按照发送的顺序被消费者顺序消费。每个消息队列只会被一个消费者线程消费,确保消息的顺序性。这种模式适用于需要…

【Hadoop】三、数据仓库基础与Apache Hive入门

文章目录 三、数据仓库基础与Apache Hive入门1、数据仓库基本概念1.1、数据仓库概念1.2、场景案例:数据仓库为何而来1.3、数据仓库主要特征1.4、数据仓库主流开发语言--SQL 2、Apache Hive入门2.1、Apache Hive概述2.2、场景设计:如何模拟实现Hive功能2.…

深度学习用于医学预后-第二课第四周16-17节-比较两个患者的风险

我们怎样比较两个患者的风险? 让我们谈谈如何比较两名患者的风险。假设我们有两个病人,一个50岁,血压162,另一个61岁,血压140。 我们可以使用生存树首先找出他们所属的组。所以我们看到第一个病人的年龄小于60&#…

【CSS 选择器应用在QSS】第二天

CSS 选择器应用在QSS 【1】元素选择器(元素通用性)【2】id 选择器(唯一性)【2.1】CSS【2.2】QSS 【3】类选择器【3.1】CSS【3.2】QSS 【4】类选择器(只针对指定元素)【4.1】CSS【4.2】QSS 【5】通用选择器【…

iptables 防火墙二

目录 SNAT 原理与应用SNAT原理:修改数据包的源地址。 SNAT 实验DNAT原理与应用DNAT原理:修改数据包的目的地址。DNAT转换前提条件: DNAT 示例 SNAT 原理与应用 SNAT 应用环境:局域网主机共享单个公网IP地址接入Internet&#xff…

MyBatis技术练习

一、模仿教程练习增删改查&#xff0c;自己完成一个新表相关操作 1、配置fkxml文件 我们这里的增删改查sql语句必须对应我们自己创建的表 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.…

实测有效:由于找不到MSVCP140.dll,无法继续执行代码

从解决实际问题的角度上&#xff0c;推荐两种实测有效的方法。 先来说一下msvcp140.dll是什么&#xff1f; msvcp140.dll 是 Microsoft Visual C Redistributable for Visual Studio 2015 库文件的一部分。这个文件是一些需要 Visual Studio 2015 支持的程序所必需的。 如果…

(C语言版)力扣(LeetCode)题库1-5题解析

力扣&#xff08;LeetCode&#xff09;题库1-5题解析 1.两数之和题目解析 2.两数相加题目解法 3.无重复字符的最长字串题目解法 4. 寻找两个正序数组的中位数题目解法 5. 最长回文子串题目解法 结语 1.两数之和 题目 给定一个整数数组 nums 和一个整数目标值 target&#xff…

Java基础--->并发部分(3)【JUC、AQS】

文章目录 AQS&#xff08;AbstractQueuedSynchronizer&#xff09;AQS实现原理AQS操作重点方法 Java并发容器JUC&#xff08;java.util.concurrent&#xff09;ConcurrentHashMapCopyOnWriteArrayList AQS&#xff08;AbstractQueuedSynchronizer&#xff09; AbstractQueuedSy…

如何从其他ETL工具迁移到ETLCloud上?

ETL数据集成工具主要用于将来自不同数据源的数据整合到一个单一的、一致的数据存储库或将数据分发到不同的数据源中&#xff0c;同时也可以把数仓中的数据通过ETL反向输出给业务系统使用。它可以帮助企业解决数据共享问题&#xff0c;同时有效地管理和利用海量数据&#xff0c;…

DAY 61 MySQL高级SQL语句

高级SQL语句&#xff08;进阶查询&#xff09; 先准备2个表 一个location表 use market;create table location(Region char(20),Store_Name char(20));insert into location values(East,Boston);insert into location values(East,New York);insert into location values(W…

python数据可视化显示(附代码)

Python是一种非常流行的编程语言&#xff0c;具有广泛的应用领域&#xff0c;包括数据可视化。在数据可视化中&#xff0c;Python提供了多种工具来帮助用户创建各种类型的图表、图形和可视化效果。本文将介绍Python数据可视化的基本概念、工具和技术&#xff0c;并提供代码示例…

CustomTkinter:【二】颜色和主题、外观模式、缩放、包装

GitHub地址: https://github.com/TomSchimansky/CustomTkinter 官网&#xff1a; https://customtkinter.tomschimansky.com/ 官方教程文档&#xff1a;https://customtkinter.tomschimansky.com/documentation/ 目录 1、颜色和主题2 、外观模式3 、缩放4、包装 1、颜色和主题 …

2023/5/21周报

目录 摘要 论文阅读 1、标题和现存问题 2、各个结构 3、基于GNN-LSTM-CNN 网络轨迹预测模型 4、实验准备 5、实验结果 深度学习 1、费舍尔判别 2、步骤具体化 3、GCN 总结 摘要 本周在论文阅读上&#xff0c;阅读了一篇基于GNN-LSTM-CNN网络的6G车辆轨迹预测算法的…

git pull报没有足够内存 not enough memory for initialization

git clone 或 git pull 批量同步远程 git仓库代码时&#xff0c;报 没有足够内存用于初始化 not enough memory for initialization。经过观察 资源管理器 的内存使用情况&#xff0c;发现为 剩余可用内存不足造成的。加物理内存麻烦&#xff0c;可通过适当调整 分页文件&…