MySQL Configuration with Spring Boot

Hello friends as we have already discussed in the previous chapter about how you in memory database or embedded database of Spring Boot like H2, HSQL etc. Out of the box, Spring Boot is very easy to use with the H2 or HSQL Database. If the HSQL database is found on your classpath, Spring Boot will automatically set up an in memory HSQL database for your use., I have used in-memory databases like HSQL for persisting data. But, these in-memory databases cannot be used for the production. These are only used for the development environment. But what if you want to use MySQL? Naturally, Spring Boot has support for MySQL and a number of other popular relational databases.
Let’s see we want to deploy this application to production and we’ve decided to use MySQL for the database. Changing Spring Boot from HSQL to MySQL is easy to do.

Maven Configurations for MySQL Dependencies

<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
</dependency>
Here in the maven’s pom.xml, you just added mysql connector. Once this is added to the classpath, Spring Boot will automatically search for the MySQL configurations and use it.

MySQL Configuration

You’ll need to have a database defined for your use. For this example, I want to create a database for my use. Using the command prompt, you can log into MySQL with this command:
mysql -u root
Use the following command to create a database.
CREATE DATABASE dojdb;
There are following property we have to add the application property file application.properties and also we have to install MySQL DB at your machine firstly and after that you can go ahead with MySQL configuration.
spring.datasource.url=jdbc:mysql://localhost:3306/dojdb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
If you are using ORM (Hibernate) with this application then we can add one more property in the file.
spring.jpa.hibernate.ddl-auto=create-drop
If this was actually a production database, you not tell Hibernate to use the create-drop option. This tells Hibernate to recreate the database on startup. Definitely not the behavior we want. You can set this property to the following values: none, validate, update, create-drop. If this was actually a production database, you probably would want to use validate.

Summary

This is all about how to use and configure MySQL database with Spring Boot application and discussed all that needs to be changed to use MySQL with Spring Boot. When you start the project now, MySQL will be used by the Spring Boot application for the database.

Happy Spring Boot Learning!!!

Spring Boot Related Topics

  1. Spring Boot Interview Questions and Answers
  2. Introduction to Spring Boot
  3. Essentials and Key Components of Spring Boot
  4. Spring Boot CLI Installation and Hello World Example
  5. Spring Boot Initializr Web Interface
  6. Spring Boot Initializr With IDEs
  7. Spring Boot Initializr With Spring Boot CLI
  8. Installing Spring Boot
  9. Developing your first Spring Boot application
  10. External Configurations for Spring Boot Applications
  11. Logging Configuration in Spring Boot
  12. Spring Boot and Spring MVC
  13. Working with SQL Databases and Spring Boot
  14. Spring Data JPA using Spring Boot Application
  15. Spring Boot with NoSQL technologies
  16. Spring Cache Tutorial
  17. Spring Security Tutorial with Spring Boot
  18. Spring Boot and MongoDB in REST Application
  19. Complete Guide for Spring Boot Actuator
  20. Microservices with Spring Boot