Ребят уже 3 день ищу ответ и не могу найти точного ответа на свою проблему. Поэтому я делаю несколько руководств по Spring и Hibernate и застреваю при попытке установить соединение между проектом Spring Boot, базой данных MySQL и сервером Tomcat. Вот мой файл "pom.xml":
<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bookstore</groupId>
<artifactId>bookstore</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Bookstore</name>
<description>frontend part for our bookstore project</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
И вот мои свойства:
spring.thymeleaf.cache=false
# ===============================
# = DATA SOURCE
# ===============================
# Set here configurations for the database connection
spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredatabase?autoReconnect=true&useSSL=false
# Username and secret
spring.datasource.username=root
spring.datasource.password=target
# Keep the connection alive if idle for a long time (needed in production)
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
# ===============================
# = JPA / HIBERNATE
# ===============================
# Use spring.jpa.properties.* for Hibernate native properties (the prefix is
# stripped before adding them to the entity manager).
# Show or not log for each sql query
spring.jpa.show-sql=true
# Hibernate ddl auto (create, create-drop, update): with "update" the database
# schema will be automatically updated accordingly to java entities found in
# the project
spring.jpa.hibernate.ddl-auto = update
# Allows Hibernate to generate SQL optimized for a particular DBMS
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
Я использую Tomcat из XAMPP - версия 7.0.56. Сервер MySQL и коннектор версии 8. Без использования Tomcat я прекрасно могу подключаться к любой базе данных, редактировать ее и т. д.
Вот ошибки, которые возникают:
INFO 15816 --- [main] org.hibernate.Version: HHH000412: Hibernate Core {5.0.11.Final}
INFO 15816 --- [main] org.hibernate.cfg.Environment: HHH000206: hibernate.properties not found
INFO 15816 --- [main] org.hibernate.cfg.Environment: HHH000021: Bytecode provider name:javassist
INFO 15816 --- [main] o.hibernate.annotations.common.Version: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
ERROR 15816 --- [main] o.a.tomcat.jdbc.pool.ConnectionPool: Unable to create initial connections of pool. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
Полный журнал ошибок можно увидеть здесь. Я пробовал так много вещей. Пожалуйста, помогите мне, ребята.
Обновлено:
Хорошо. Я внимательно прочитал журнал ошибок. Я использую Tomcat из XAMPP, версия 7.056, но Spring запускает Tomcat с версией 8. Я не знаю, должен ли я задавать еще один вопрос, но когда я добавил <tomcat.version>7.0.56</tomcat.version> в свои свойства, журнал ошибок изменился на это




Вы создали базу данных с именем книжный магазинбаза данных в mysql? и я думаю, вы должны добавить зависимость коннектора mysql к pom.xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
Я знаю, что это глупо, но ваш сервер mysql работает на указанном порту, верно? и вы уверены, что создали пользователя в mysql с именем пользователя «root» и паролем «target», который имеет привилегии в базе данных книжного магазина?
Да, конечно. Я заметил кое-что еще, пожалуйста, смотрите редактирование моего вопроса.
Мне жаль. Я проверил Трейс сейчас.
Когда вы проверяете сообщение об ошибке, вероятно, он был исправлен в коннекторе /J 5.1.41.
измените это на свой pom.xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
может быть используемой версией соединителя. Я изменил свой ответ. Хотите попробовать?
Да, да, да, это правильный ответ, большое спасибо. О разъеме. Было 2 Tomcats на разных портах, я не знаю почему, но я остановил их обоих, добавил вашу зависимость, а затем запустил приложение, и оно отлично сработало. Еще раз большое спасибо!
Я создал базу данных, и коннектор есть. На самом деле не знаю, где проблема. В учебнике все работает нормально. Я даже дважды проверил свой код и код репетитора.