Как установить связь между базой данных mysql и приложением springboot - PullRequest
0 голосов
/ 05 июня 2019

Я составил таблицу лиц в имени схемы test_schema. Я подключил базу данных из базы данных> Подключиться к базе данных в MySQL Workbench. Затем я попытался соединиться с этим, но, похоже, это не сработало. Кстати, я клонировал его из github и пытаюсь запустить свою базу данных здесь.

Я пытался увидеть состояние, но это показывает, что работает, но данные не извлекаются из базы данных.

application.yml

  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/persons
    username: root
    password: users
  jpa:
    hibernate.ddl-auto: null
    generate-ddl: true
    show-sql: true```


UsersRepository.java

package com.techprimers.db.repository;

import com.techprimers.db.model.Users;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UsersRepository extends JpaRepository<Users, Integer> {
}

Users.java

package com.techprimers.db.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Users {

    @Id
    @GeneratedValue
    @Column(name = "id")
    private Integer id;
    @Column(name = "token")
    private String token;
    @Column(name = "name")
    private String name;
    @Column(name = "post")
    private Integer post;

    public Users() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getPost() {
        return post;
    }

    public void setPost(Integer post) {
        this.post = post;
    }


}

UsersResources.java

package com.techprimers.db.resource;

import com.techprimers.db.model.Users;
import com.techprimers.db.repository.UsersRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping(value = "/rest/users")
public class UsersResource {

    @Autowired
    UsersRepository usersRepository;

    @GetMapping(value = "/all")
    public List<Users> getAll() {
        return usersRepository.findAll();
    }

}

SpringBootMysqldbApplication.java

package com.techprimers.db;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@EnableJpaRepositories(basePackages = "com.techprimers.db.repository")
@SpringBootApplication
public class SpringBootMysqldbApplication {

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

Результатом должны были быть элементы таблицы, но вместо этого отображается страница ошибки Whitelabel. Я не знаю, что я делаю не так, потому что нечего делать. Я просто изменил код в соответствии со своими потребностями, но мне кажется, что я каким-то образом перепутал соединение с базой данных или неправильно подключился к базе данных. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 05 июня 2019

Я заметил, что вы сказали, что TABLE NAME IS "PERSONS", но в URL вы упомянули это как имя базы данных

jdbc: mysql: // $ {DB_SERVER_NAME}: $ {DB_PORT} / $ {DB_DATABASE}: currentSchema = $ {DB_SCHEMA};

, что составляет jdbc:mysql://localhost:3306/<db-name>

Проверьте это один раз

0 голосов
/ 05 июня 2019

К сожалению, я пока не могу комментировать, но я думаю, что ваша база данных использует ssl по умолчанию Начиная с MySQL 5.7.5, но это не обязательно для клиентов по умолчанию.Проверьте этот URL, пожалуйста, jdbc: mysql: // localhost: 3306 / people? UseSSL = false

Как уже говорилось в Avi, если ваша база данных test_schema, напишите ее в URL вместо лиц

И, пожалуйста,, предоставьте ошибки и исключения прямо в вопросе, если есть

Ссылка, как обрабатывать ssl в mysql

Подушка Stackoverflow и вопрос ssl в mysql

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