Невозможно подключиться к MySQL с помощью Java Spring

Ребят уже 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> в свои свойства, журнал ошибок изменился на это

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
436
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы создали базу данных с именем книжный магазинбаза данных в mysql? и я думаю, вы должны добавить зависимость коннектора mysql к pom.xml

<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
</dependency>

Я создал базу данных, и коннектор есть. На самом деле не знаю, где проблема. В учебнике все работает нормально. Я даже дважды проверил свой код и код репетитора.

NewJavaEnthusiast 02.02.2019 18:02

Я знаю, что это глупо, но ваш сервер mysql работает на указанном порту, верно? и вы уверены, что создали пользователя в mysql с именем пользователя «root» и паролем «target», который имеет привилегии в базе данных книжного магазина?

Segni 02.02.2019 19:20

Да, конечно. Я заметил кое-что еще, пожалуйста, смотрите редактирование моего вопроса.

NewJavaEnthusiast 03.02.2019 11:03
Ответ принят как подходящий

Мне жаль. Я проверил Трейс сейчас.

Когда вы проверяете сообщение об ошибке, вероятно, он был исправлен в коннекторе /J 5.1.41.

измените это на свой pom.xml

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.15</version>
</dependency>

может быть используемой версией соединителя. Я изменил свой ответ. Хотите попробовать?

Doo Su Jung 03.02.2019 15:42

Да, да, да, это правильный ответ, большое спасибо. О разъеме. Было 2 Tomcats на разных портах, я не знаю почему, но я остановил их обоих, добавил вашу зависимость, а затем запустил приложение, и оно отлично сработало. Еще раз большое спасибо!

NewJavaEnthusiast 03.02.2019 16:27

Другие вопросы по теме