Để tạo bảng tự động, bạn cần thêm dòng sau vào file application.properties:
spring.jpa.hibernate.ddl-auto=update
Hibernate sẽ tự động tạo bảng demo88. Dưới đây là nội dung đầy đủ của application.properties:
spring.datasource.platform=mysql spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.hibernate.ddl-auto=update server.port=8191 spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/sampledatabase spring.datasource.username=root spring.datasource.password=123456
Lớp thực thể (Entity) demo88
package com.automaticallytablecreation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table
public class demo88 {
@Id
private int id;
@Column(name="name")
private String name;
}
Lớp chính (Main Class)
package com.automaticallytablecreation;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class AutomaticTableApplication {
public static void main(String[] args) {
SpringApplication.run(AutomaticTableApplication.class, args);
}
}
Chuột phải vào lớp chính và chọn Run as Java Application. Ứng dụng sẽ chạy và bảng được tạo tự động.
Kiểm tra bảng đã tạo
mysql> SHOW CREATE TABLE demo88;
Kết quả:
+--------+------------------------------------------------------------+ | Table | Create Table | +--------+------------------------------------------------------------+ | demo88 | CREATE TABLE `demo88` ( `id` int NOT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci | +--------+-------------------------------------------------------------+ 1 row in set (0.03 sec)