Java 将MySQL连接到Spring Boot REST应用程序

Java 将MySQL连接到Spring Boot REST应用程序,java,spring,Java,Spring,基于Spring站点上的教程,我能够设置一个简单的演示REST应用程序。它工作正常,但我就是不知道如何将它绑定到我的MySQL数据库中。我已将其配置为自动连接,但我知道我缺少一些胶水。我看到过一些关于在Application.java中配置datasourcebean的随机博客文章,但我也读到,使用执行器这一切都应该自动完成。在日志输出中,我的数据库似乎已成功连接,当我使用cURL点击其余端点时,它们工作正常,但根本不与我的MySQL db交互。我是否缺少数据源?如果是这样的话,你能为它的运行提

基于Spring站点上的教程,我能够设置一个简单的演示
REST
应用程序。它工作正常,但我就是不知道如何将它绑定到我的
MySQL数据库中。我已将其配置为自动连接,但我知道我缺少一些胶水。我看到过一些关于在
Application.java
中配置
datasource
bean的随机博客文章,但我也读到,使用执行器这一切都应该自动完成。在日志输出中,我的数据库似乎已成功连接,当我使用
cURL
点击其余端点时,它们工作正常,但根本不与我的
MySQL db
交互。我是否缺少
数据源
?如果是这样的话,你能为它的运行提供指导吗?谢谢

代码非常简单:

Application.java 套餐你好

import ...

@Configuration
@EnableJpaRepositories
@Import(RepositoryRestMvcConfiguration.class)
@EnableAutoConfiguration
@ComponentScan
@PropertySource("classpath:application.properties")
public class Application
{
    public static void main(String[] args)
    {
        SpringApplication.run(Application.class, args);
    }
}
User.java

package hello;

import javax.persistence.*;

@Entity
@Table(name = "user")
public class User
{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    private String username;

    public User()
    {  
    }

    public User(long id, String username)
    {
        this.id = id;
        this.username = username;
    }

    public String getUsername()
    {
        return username;
    }

    public void setUsername(String username)
    {
        this.username = username;
    }
}
UserRepository.java

package hello;

import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;

@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends PagingAndSortingRepository<User, Long>
{
}

您不需要
@PropertySources
@enablejparepositions
@Import(RepositoryRestMvcConfiguration.class)
,因为当检测到Spring数据JPA和Spring数据REST时,Spring引导已经为您处理了这些。(这就是
@EnableAutoConfiguration
的作用)

指定url、用户名和密码就足够了(如果您使用的是SpringBoot1.1.x)

最后,请确保您的类路径上没有或没有,因为这些将自动检测到,并且可能会覆盖您的数据库设置

我看到过一些关于在Application.java中配置数据源bean的随机博客文章,但我也读到,使用执行器应该可以自动完成这一切


自动配置与执行器无关(仅用于Spring安全、度量和管理),而是与Spring Boot的自动配置部分有关。

尝试通过查询参数将SSL设置为false,以防仍然不起作用<代码>spring.datasource.url=jdbc:mysql://localhost/chrdb?verifyServerCertificate=false&useSSL=false&requireSSL=false
spring.datasource.url=jdbc:mysql://localhost:3306/chrdb
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driverClassName=com.mysql.jdbc.Driver

import ...

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
spring.datasource.url=jdbc:mysql://localhost:3306/chrdb
spring.datasource.username=root
spring.datasource.password=