有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java表不是从Spring boot JPA在mysql模式中创建的

我正在创建一个spring boot应用程序,并尝试与mysql数据库建立连接

我创建了一个模式。并尝试通过spring boot jpa在表中添加列

尽管我的身材已经通过了测试,但我还是无法获得成功。我已经尝试了所有可能的方法从堆叠流,但没有运气

这是我的application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/employee_management_system?useSSL=false
spring.datasource.username=root
spring.datasource.password=root

spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto= update

这是我的模范班

package com.springboot.Model;


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

@Entity
@Table(name = "employees")

public class Employee {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;
    
    @Column(name = "first_name")
    private String  fristName;
    
    @Column(name = "last_name")
    private String lastName;
    
    @Column(name = "email_id")
    private String emailId;
    
    public Employee() {
        
    }
    
    public Employee(String fristName, String lastName, String emailId) {
        super();
        this.fristName = fristName;
        this.lastName = lastName;
        this.emailId = emailId;
    }
    
    
    public long getId() {
        return id;
    }
    
    public void setId(long id) {
        this.id = id;
    }
    
    public String getFristName() {
        return fristName;
    }
    
    
    public void setFristName(String fristName) {
        this.fristName = fristName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getEmailId() {
        return emailId;
    }
    public void setEmailId(String emailId) {
        this.emailId = emailId;
    }
}

生成日志:Build Log

我对我的数据库连接也有怀疑。调试或查找spring是否符合模式的方法是什么

有人能帮我吗。这是我的第一个Spring java应用程序


共 (2) 个答案

  1. # 1 楼答案

    需要在数据源URL中添加createDatabaseIfNotExist=true参数,如下例所示:

    spring.datasource.url=jdbc:mysql://localhost:3306/employee_management_system?createDatabaseIfNotExist=true&useSSL=false
    
  2. # 2 楼答案

    1. 你确定你的Entity基本包或基本包的子包下吗?如果没有,则需要将其添加到主应用程序文件中的Scan

      @EntityScan(basePackages = {"com.springboot.Model"}) 
      
    2. 请尝试以下属性:

      spring.jpa.generate-ddl=true <br>
      spring.jpa.hibernate.ddl-auto=create