1. 程式人生 > >SpringData Jpa自動建表配置以及問題

SpringData Jpa自動建表配置以及問題

在使用Springboot + JPA的專案中 使用了JPA的自動建表功能 專案的配置方法如下:

Maven專案依賴配置

在pom.xml檔案中引入

<!-- maven依賴 -->
<dependencies>
    <!-- 配置資料庫依賴 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency
>
<!-- 配置JPA元件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> </dependencies>

屬性配置

在application.properties檔案中配置如下:

spring.datasource
.url=jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password= spring.datasource.driver-class-name=com.mysql.jdbc.Driver #配置自動建表 spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true

配置實體類檔案

在建立與表對應的實體類檔案User.java

@Entity(name = "user")
public class User {

    @Id
    @GeneratedValue
    private Integer id;
    @Column
    private String username;
    @Column
    private String password;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

這樣 在SpringBoot專案啟動的時候就能自動更新資料庫表單結構了

要注意的問題

我自己在使用的過程中 出現過建表失敗的情況 具體原因是使用了order的表單名
這是mysql 的關鍵字 因此無法建表 更改表單名稱即可解決問題