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