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: 11-Dec-2020

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements