首页 > 其他分享 >SpringBoot图书管理系统运行教程

SpringBoot图书管理系统运行教程

时间:2023-11-05 13:58:09浏览次数:43  
标签:教程 hibernate 5.4 SpringBoot 17 管理系统 -- java Final

@文章目录

目录

1、前期必备

1.1、所需软件版本说明

为避免出现其它问题,建议软件版本跟表中保持一致

软件 版本 说明
IDEA 2020.1 开发工具版本无要求
JDK 1.8 推荐使用JDK1.8
MySQL 5.7.26 使用MySQL5.5+,强烈推荐使用MySQL5.7.x
Navicat Premium 12.0.16 版本无要求
Maven 3.6.3 版本无要求

1.2、下载源码

本教程用到的源码已经放到网盘了,在公众号【IT学长】回复关键词“20220927”下载图书管理系统设计与实现(SpringBoot+Mysql+HTML)源码包。

本系统开发设计文档:《SpringBoot图书管理系统设计与实现(附源码下载地址)》

1.3、下载开发工具

作者用IDEA开发工具做演示,大家可直接在百度下载安装。

1.4、下载JDK并配置环境变量

作者使用JDK1.8版本,也建议初学者使用该版本。JDK下载和环境变量配置在百度有很多教程,这里不再重复。

1.5、安装数据库和数据库管理工具

目前作者所有毕设源码数据库都用MySQL5.7版本,强烈建议初学者跟作者保持一致,避免出现其它错误,待运行成功后再根据需要调整数据库版本。

其它版本的MySQL卸载教程和MySQL5.7安装教程请看作者另一篇文章:《MySQL绿色版安装与卸载教程》

数据库管理工具作者用Navicat,没有版本要求,自己在百度搜索,傻瓜式安装即可,也可以用其他数据库管理工具。

1.6、安装配置Maven

本系统用到项目管理工具Maven来统一Jar包版本管理,关于Maven的下载安装和配置教程请阅读作者的另一篇文章:《Maven安装与配置教程》,教程中对每个步骤的描述都很详细,大家根据文章操作就可以了。

做完以上工作后,本系统运行所需的基础软件就准备完成了。

2、将SQL文件导入到数据库

2.1、新建MySQL连接

1、打开安装好的Navicat(数据库管理工具)--》连接 --》MySQL

2、输入相关信息

  • 连接名:自定义(随便起)
  • 主机:使用默认localhost或127.0.0.1
  • 端口:使用默认3306
  • 用户名:填写MySQL的用户名(使用root即可)
  • 密码:填写MySQL的密码(安装时设置的密码)

注意:使用了上面作者提供的数据库安装方式的,密码默认为空!

3、输入以上信息后,先点击“连接测试”看看信息是否正确,正确后点击“确定”。

2.2、新建数据库并导入SQL

1、test 右击-->新建数据库

数据库名:查看“图书管理系统设计与实现(SpringBoot+Mysql+HTML)”源码包,用记事本工具打开book.sql文件。

下载好的源码包解压后:

注:“图书管理系统设计与实现(SpringBoot+Mysql+HTML)”源码包在本文1.2章节下载

字符集:utf8
排序规则:utf8_general_ci

2、双击新建的数据库-->待数据库名由灰变亮后-->右击数据库名-->运行SQL文件-->选择文件book.sql -->点击开始-->关闭

注意:SQL文件在下载好的源码包中

3、刷新数据库表后即可看到导入的数据库表了

完成以上步骤后,sql文件已成功导入到数据库中了。

3、IDEA配置Maven环境

1、打开IDEA开发工具-->Configure-->Settings

2、Build,Execution,Deployment-->Build Tools-->Maven-->选择Maven安装路径-->ok

4、IDEA安装Lombok插件

1、打开IDEA开发工具-->Configure-->Plugins

2、搜索Lombok-->Install-->Restart IDE-->OK

注:此步骤需要连接互联网

3、IDEA开发工具重启后-->Configure-->Plugins-->Installed-->查看Lombok是否安装成功

5、IDEA导入并运行项目

5.1、IDEA导入项目

1、根据图示导入项目

2、项目导入后如下图所示:

5.2、检查Maven配置是否正常

观察Maven本地仓库,查看项目依赖下载是否正常,即检查本地仓库路径下是否有类似下图中的文件夹生成。

如果没有上图中的文件夹生成的话需要检查Maven配置是否正确、重新加载Maven依赖

1、File-->Settings...-->Build,Execution,Deployment-->Build Tools-->Maven

2、重新加载Maven依赖,观察本地仓库

5.3、配置JDK

1、File-->Project Structure...-->Project-->Project SDK-->Add SDK-->JDK...-->选择JDK安装路径-->OK

2、JDK配置完成后如下图所示:

5.4、修改数据库配置

booksManageBoot-->src-->main-->resources-->application.yml

5.5、打包项目

1、Maven-->clear

2、Maven-->package

5.6、配置主程序并运行

1、Add Configuration...-->点击“+”-->Spring Boot

2、填写/选择如下信息-->保存

3、运行程序

5.7、访问项目及接口文档

项目登录用户如下图:

  • 浏览器地址栏输入:http://127.0.0.1:8080/booksManageBoot

  • 管理员身份登录

  • 普通用户身份登录

  • 浏览器地址栏输入:http://127.0.0.1:8080/booksManageBoot/doc.html

到这里,项目就运行成功了,是不是很哇塞呢!

6、常见问题及解决方式

6.1、如何修改项目访问路径和端口

booksManageBoot-->src-->main-->resources-->application.yml

6.2、项目导入后中文乱码问题

File --> Settings --> Editor --> File Encoding下修改项目文件的编码

6.3、get、set方法报错

项目导入后或者在项目打包时出现get、set方法报错。这种情况一般是缺失Lombok插件,解决方式是按照第4章节安装Lombok插件即可。

6.4、java.sql.SQLException

出现类似错误一般是数据库连接失败了,请按照5.4章节检查application.yml中数据库相关的配置是否正确。

{5.1.0.Final}
2022-10-27 23:45:26.336  INFO 3100 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2022-10-27 23:45:28.325 ERROR 3100 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) ~[mysql-connector-java-8.0.20.jar:8.0.20]
	at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477) [HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560) [HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) [HikariCP-3.4.5.jar:na]
	at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) [HikariCP-3.4.5.jar:na]
	at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:68) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:176) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:118) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1224) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1255) [hibernate-core-5.4.17.Final.jar:5.4.17.Final]
	at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) [spring-orm-5.2.7.RELEASE.jar:5.2.7.RELEASE]
	at org.springframework.orm.jpa.LocalContainerEntityManage

6.5、运行项目时HTTP状态码出现 404、500

HTTP状态码 404: 官方解释是服务器找不到请求的网页。本项目中出现404时首先检查访问地址是否正确,其次检查项目是否正常启动。

HTTP状态码 500: 官方解释是服务器内部错误,服务器遇到错误,无法完成请求。本项目中出现500时表明前端请求已经到达后端服务器,只是在逻辑处理中遇到错误,具体错误原因需要我们查看控制台。

7、结束

以上就是本教程的所有内容,关注公众号【IT学长】,跟着学长学IT。

标签:教程,hibernate,5.4,SpringBoot,17,管理系统,--,java,Final
From: https://www.cnblogs.com/ITXueZhang/p/17810450.html

相关文章

  • 无涯教程-批处理 - 脚本注释
    为创建的脚本添加注释或文档始终是一个好习惯,这是维护脚本以了解脚本实际功能所必需的。如,考虑下面没有注释形式的代码,如果没有编写以下脚本的普通人试图理解该脚本,则该人将花费大量时间来理解该脚本的实际作用。ECHOOFFIFNOT"%OS%"=="Windows_NT"GOTOSyntaxECHO.%*|......
  • 无涯教程-批处理 - 变量声明
    批处理文件中有两种类型的变量,一种是用于在调用批处理文件时传递的参数,另一种是通过set命令进行传递的参数。命令行参数批处理脚本支持命令行参数的概念,其中可以在调用参数时将参数传递给批处理文件,可以通过变量%1,%2,%3等从批处理文件中调用参数。以下示例显示了一个批处理文件,该......
  • 【Git 教程系列第 27 篇】ssh: connect to host github.com port 22: Connection refu
    https://blog.csdn.net/qq_42351033/article/details/131612279ssh:connecttohostgithub.comport22:Connectiontimedoutfatal:Couldnotreadfromremoterepo......
  • 无涯教程-批处理 - 语法
    通常,批处理文件中的第一行通常包含以下命令。ECHO命令@echooff默认情况下,批处理文件将在运行时显示其命令,第一条命令的目的是关闭此显示,命令“echooff”关闭整个脚本的显示,但“echooff”命令本身除外。前面的“@”符号“@”使命令也适用于其自身。脚本程序让无涯教程......
  • 无涯教程-批处理 - 简介
    批处理文件(英语:Batchfile),又称批次档,在DOS、OS/2、微软视窗系统中,是一种用来当成脚本语言运作程序的文件。它本身是文本文件,其中包含了一系列让具备命令行界面的解释器读取并运行的指令。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的解释器(通常是COMMAND.COM或者CMD......
  • FreeRTOS深入教程(任务创建的深入和任务调度机制分析)
    (文章目录)前言本篇文章将带大家深入学习任务的创建和分析任务调度的机制。一、深入理解任务的创建创建任务函数原型:BaseType_txTaskCreate(TaskFunction_tpxTaskCode,constchar*constpcName,/*lint!e971Unqualifiedchartypes......
  • 无涯教程-批处理 - 环境设置
    本章介绍与批处理脚本相关的环境。写入&执行通常,要创建批处理文件,请使用记事本,这是用于创建批处理文件的最简单的工具,接下来是批处理脚本的执行环境。在Windows系统上,这是通过命令提示符或cmd.exe完成的,所有批处理文件都在此环境中运行。以下是启动cmd.exe的不同方法-方法1-......
  • 无涯教程-批处理 - 文件处理
    在本章中,无涯教程将学习如何创建,保存,执行和修改批处理文件。创建批处理文件批处理文件通常在记事本中创建,因此,最简单的方法是打开记事本并输入脚本所需的命令,对于本练习,请打开记事本并输入以下语句。::DeletesAllfilesintheCurrentDirectoryWithPromptsandWarnings......
  • Linux安装maven(详细教程)
    yuanwen:https://www.cnblogs.com/outrun/p/17708907.htmlhttps://www.cnblogs.com/outrun/p/17708907.htmlLinux安装maven(详细教程)Linux安装maven(详细教程)一、简介Maven是意第绪语,意思是“知识的积累者”,最初是为了简化JakartaTurbine项目中的构建过程。有几......
  • 基于Spring Boot的图书管理系统
    系统关键词图书管理、图书类别、图书借阅、图书归还、图书丢失、图书续借、借还统计、图书统计技术栈后端技术栈:SpringBoot、Shiro、MySQL、Redis、MyBatis-Plus、WebSocket前端技术栈:LayUI、Thymeleaf、jQuery、FontAwesome、WangEditor、zTree功能模块功能截图登......