Fine Radar
The News Hub

Spring Boot Integration With MySQL as a Maven Project – GeeksforGeeks

Spring Boot is trending and it is an extension of the spring framework but it reduces the huge configuration settings that need to be set in a spring framework. In terms of dependencies, it reduces a lot and minimized the dependency add-ons. It extends maximum support to all RDBMS databases like MySQL and NoSQL databases like MongoDB. In this article let us see a sample project connecting Spring Boot and MySQL.

Implementation

Project Structure:

Project Structure

 

This is a maven project

pom.xml

XML

<?xml version="1.0" encoding="UTF-8"?>

    <modelVersion>4.0.0</modelVersion>

    <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>2.7.0</version>

        <relativePath/>

    </parent>

    <groupId>com.gfg</groupId>

    <artifactId>springboot_mysql_project</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <name>springboot_mysql_project</name>

    <description>Demo project for Spring Boot with MySQL</description>

    <properties>

        <java.version>1.8</java.version>

    </properties>

    <dependencies>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-data-jpa</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

        

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <scope>runtime</scope>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-test</artifactId>

            <scope>test</scope>

        </dependency>

    </dependencies>

  

    <build>

        <plugins>

            <plugin>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-maven-plugin</artifactId>

            </plugin>

        </plugins>

    </build>

  

</project>

The important file that helps to tell about MySQL connectivity information

spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/geeksforgeeks?serverTimezone=UTC&useSSL=false&autoReconnect=true
spring.datasource.username=****#Specify the proper user name
spring.datasource.password=****#Specify the proper password then only the application can be connected with MySQL

Spring boot can be run as Java application, which means there should be the main class

SampleAccessingOfMysqlApplication.java

Java

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

  

@SpringBootApplication

public class SampleAccessingOfMysqlApplication {

    public static void main(String[] args) {

        SpringApplication.run(SampleAccessingOfMysqlApplication.class, args);

    }

}

Let us start with the bean class

Book.java

Java

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

  

@Entity 

public class Book {

    @Id

    @GeneratedValue(strategy=GenerationType.AUTO)

    private Integer id;

  

    private String bookName;

  

    private String isbnNumber;

  

    public String getBookName() {

        return bookName;

    }

  

    public void setBookName(String bookName) {

        this.bookName = bookName;

    }

  

    public String getIsbnNumber() {

        return isbnNumber;

    }

  

    public void setIsbnNumber(String isbnNumber) {

        this.isbnNumber = isbnNumber;

    }

  

    public Integer getId() {

        return id;

    }

  

    public void setId(Integer id) {

        this.id = id;

    }

      

}

BookRepository.java

Java

package com.gfg;

  

import org.springframework.data.repository.CrudRepository;

  

public interface BookRepository extends CrudRepository<Book, Integer> {

  

}

BookController.java

Java

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.PostMapping;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.ResponseBody;

  

@Controller    

  

@RequestMapping(path="/geek"

public class BookController {

    

    

    

      

    @Autowired 

    private BookRepository bookRepository;

  

    

    @PostMapping(path="/addbook"

    public @ResponseBody String addBooks (@RequestParam String bookName

            , @RequestParam String isbnNumber) {

        

        

          

        

          

        

        Book book = new Book();

        book.setBookName(bookName);

        book.setIsbnNumber(isbnNumber);

        bookRepository.save(book);

        return "Details got Saved";

    }

  

    @GetMapping(path="/books")

    public @ResponseBody Iterable<Book> getAllUsers() {

        

        return bookRepository.findAll();

    }

}

The application can be run as follows :

 

Console Output:

 

Now we can run and see the following. As we are entering the book details via POST, let us use the Postman client to execute the same

http://localhost:8080/geek/addbook
--Note : In the controller, it has been given that all urls should have geek as pattern
and after that 'addbook' is the mapping that helps to add the books to the table named 'book'.
As in application.properties,
spring.jpa.hibernate.ddl-auto=update
is available, if there is no table named 'book' is present, it is automatically created

 

We can check the same by executing the below URL

http://localhost:8080/geek/books

 

Similarly, we can add the books we want and can add

 

Let us check the same in MySQL as well

 

So it is easier to connect MySQL and Spring Boot. Efficiently we can integrate spring boot and MySQL as in the above sample project.

 

Stay connected with us on social media platform for instant update click here to join our  Twitter, & Facebook We are now on Telegram. Click here to join our channel (@TechiUpdate) and stay updated with the latest Technology headlines. For all the latest Technology News Click Here 

Read original article here

Denial of responsibility! FineRadar is an automatic aggregator around the global media. All the content are available free on Internet. We have just arranged it in one platform for educational purpose only. In each content, the hyperlink to the primary source is specified. All trademarks belong to their rightful owners, all materials to their authors. If you are the owner of the content and do not want us to publish your materials on our website, please contact us by email – [email protected]. The content will be deleted within 24 hours.
Leave A Reply

Your email address will not be published.