Как связать Spring Boot Application с базой данных MySQL? - PullRequest
0 голосов
/ 23 января 2019

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

Ответы [ 4 ]

0 голосов
/ 23 января 2019

Добавьте ниже зависимости в pom.xml.

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
</dependency>

Добавьте ниже свойства базы данных в application.properties.

spring.datasource.url=jdbc:mysql://localhost:3306/dbname
spring.datasource.username=root
spring.datasource.password=root

Для получения более подробной информации, пожалуйста, перейдите по этой ссылке

0 голосов
/ 23 января 2019

Я перечисляю минимальную конфигурацию:

В pom.xml

<!-- JPA Data (We are going to use Repositories, Entities, Hibernate, etc...) -->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!-- Use MySQL Connector-J -->

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

В application.properties

spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword

Такие примеры можно найти везде,Предпочитаю читать https://spring.io/guides/gs/accessing-data-mysql/

Источник: https://spring.io

Оформить заказ и на другие вопросы:

Как использовать Spring Boot с базой данных MySQL и JPA?

Spring Boot MYSQL соединение

Spring boot - настройки MySQL не работают

0 голосов
/ 23 января 2019

Вам необходимо добавить свойства конфигурации базы данных для Mysql в вашем application.properties:

spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=mysql
spring.datasource.password=mysql
  1. spring.jpa.hibernate.ddl-auto=create эта конфигурация создаст таблицы на основе ваших сущностей, которые были созданы вами.
  2. spring.datasource.url=jdbc:mysql://localhost:3306/db_example эта конфигурация подключается через jdbc к вашей базе данных с именем db_example.Вам нужно создать эту базу данных.
  3. spring.datasource.username=mysql эту конфигурацию вам нужно указать своему пользователю, который будет подключаться через jdbc к вашей базе данных mysql.
  4. spring.datasource.password=mysql эту конфигурацию вам необходимо предоставитьпароль, который представлен вашим пользователем для подключения через jdbc к вашей базе данных mysql.

Кроме того, вам необходимо добавить зависимости для Mysql и JPA.

  • Если вы используете maven, добавьте зависимости в ваш pom.xml:

    <dependencies>
        <!-- JPA Data (We are going to use Repositories, Entities, Hibernate, etc...) -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
    
        <!-- Use MySQL Connector-J -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
    </dependencies>
    
  • Если вы используете gradle, добавьтезависимости в build.gradle:

    dependencies {
        // JPA Data (We are going to use Repositories, Entities, Hibernate, etc...)
        compile 'org.springframework.boot:spring-boot-starter-data-jpa'
    
        // Use MySQL Connector-J
        compile 'mysql:mysql-connector-java' 
    }
    
0 голосов
/ 23 января 2019

Для соединения с MySQL нужны некоторые зависимости как показано ниже

Зависимости (maven -> pom.xml).

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
  </dependency>
</dependencies>

в application.properties нужны дополнительные настройки конфигурации, например

application.properties (src / main / resources / application.properties)

# DataSource settings: set here your own configurations for the database 
# connection. In this example we have "netgloo_blog" as database name and 
# "root" as username and password.
spring.datasource.url = jdbc:mysql://localhost:8889/database_name
spring.datasource.username = mysql-userId
spring.datasource.password = mysql-pwd

# Keep the connection alive if idle for a long time (needed in production)
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1

# Show or not log for each sql query
spring.jpa.show-sql = true

# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update

# Naming strategy (Not necessary to add but you can use this too)
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy

# Use spring.jpa.properties.* for Hibernate native properties (the prefix is
# stripped before adding them to the entity manager)

# The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

Теперь ваш EntityManager Объект будет создан, когда вы запустите конфигурацию весенней загрузки.

Выше определенной конфигурации достаточно для подключения вашей локальной базы данных my-sql, но вот еще несколько конфигураций, которые вам нужны, чтобы сделать ваш код более читабельным.

Включить JPARepositories, чтобы хранилища CRUD были определены в определенном пакете.

Добавьте @EnableJPARepositories("basepackage.*") к вашему SpringBootMainApplicationClass вот так ..

@SpringBootApplication
@EnableJPARepositories("com.demo.application.*.repositories")
@ComponentScan("com.demo.application.*")
public class SpringBootMainApplicationClass {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootMainApplicationClass.class, args);
    }
}

путем добавления @EnableJPARepositories Аннотация в MainClass позволяет пользователю сделать ваш код более читабельным, а EntityManager Объект ограничен только определенным пакетом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...