Creating a table with MySQL - Hibernate



To create a table, you need to insert below line into application.properties −

spring.jpa.hibernate.ddl-auto=update

Here, Hibernate will create the table demo88 automatically. The application.properties code is as follows −

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

The demo88 entity class is as follows to create table columns −

Example

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; }

The main class code is as follows −

Example

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);    } }

Now right click on the main class and click Run menu as Java Application. The application will run and the table gets created.

This will produce the following output −

Output

To verify, let’s display the table −

mysql> show create table demo88;

This will produce the following output −

Output

+--------+------------------------------------------------------------+

| 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)
Updated on: 2020-12-11T05:55:53+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements