Updated March 29, 2023
Introduction to spring boot jdbc
Spring boot jdbc provides libraries and starter to connect applications with JDBC while using JDBC database-related beans like JDBC template, named parameter JDBC template, and data source are automatically configures and creating it at the time of starting a project. To use the automatically configured classes, we can Autowired them in an application.properties file, we are configuring the connection pooling and data source. If we have not chosen any option for our project, then JDBC is choosing tomcat pooling as default. JDBC is used to connect applications using JDBC.
What is spring boot JDBC?
- At the time of using JDBC, we have required only spring boot starter jdbc dependency.
- Basically, JDBC is divided into four different packages are as follows.
- Object
- Data source
- Core
- Support
- An object-oriented manner does JDBC database access. It will allow us to run the query and return the result by using an object. An object is also used to map the columns between query results and properties of objects.
- JDBC data source is used in utility classes for accessing the data source. JDBC has many data source implementations to test the JDBC code.
- The JDBC core package contains the JDBC core functionality. Many of the classes is important in this package which was contains the jdbc template, simple JDBC call, simple JDBC insert, and named parameter jdbc template.
- The JDBC support package contains the support classes which was supporting for classes under object and core classes. An example of this package is providing the functionality of SQLException translation.
- Using JDBC, we can implement database CRUD operations for the simple aggregations. JDBC is supporting for annotation name as query. It will also support events and MyBatis queries.
- We can configure the java-based repository by using enable JDBC repositories annotation in JDBC.
- JDBC is part of the spring boot framework, which was used to implement the JDBC repositories.
- JDBC is used to support the JDBC data access layer. Therefore, it makes it easier to build an application that uses the connection pooling and accessing the data from the database server.
- JDBC is the main API using this API; we can access the functionality like create and close the database connection.
- We can execute all SQL queries and execute the statement and call of stored procedure.
- To support the named parameter queries, we are using the JDBC template, which JDBC provided.
Why use Spring Boot JDBC?
- At the time of developing the application using JDBC, we require only spring boot starter JDBC (spring-boot-starter-jdbc) dependency.
- JDBC is automatically configures the bean of data source if we have not maintain it explicitly. If we do not require a bean or want to use the bean in our project, we need to set the property of spring.datasource.initialize as false. By default, spring.datasource.initialize parameter property is true.
- Using JDBC, we have no need to register beans because it will automatically register beans at the time of starting our project.
- Using JDBC, any database script which was contains the extension as .sql will gets automatically executed.
- To develop an application by using JDBC, we have required only spring-boot starter dependency.
- Using JDBC, we have no need to add the multiple dependencies to our project.
- If we have not registered any beans like JDBC template, platform transaction manager, and named parameter jdbc template, it will register automatically using JDBC.
- JDBC is providing the JdbcTemplate class, which was simplifies the development of JDBC.
- As compare to hibernate, JDBC is efficient and more easy to use to develop applications.
Spring Boot and JDBC Template
Below examples show to set up the JDBC project template are as follows.
- Create a project template using a spring initializer and give the following name to the project metadata.
Group – com.example
Artifact name – spring-boot-jdbc
Name – spring-boot- jdbc
Description – Project of spring-boot- jdbc
Package name – com.example.spring-boot- jdbc
Packaging – Jar
Java – 11
Dependencies – spring web.
- After generating project extract files and open this project by using spring tool suite –
- After opening the project using the spring tool suite, check the project and its files –
- We need the following software to develop applications using JDBC are as follows.
- Maven 3.2 +
- JDK 1.8 or later
- Spring boot 2.4 or later
- Spring tool suite
- To develop the application using JDBC, we need to use the spring tool suite and develop a project using maven.
Examples
The below example shows JDBC are as follows.
- Create database and tables
# create database spring_boot_jdbc;
# \c spring_boot_jdbc
# create table stud (id int, name varchar(10));
- Edit application properties file and add the database credential
Code –
spring.datasource.url = jdbc:postgresql://localhost:5432/spring_boot_jdbc
spring.datasource.username = postgres
spring.datasource.password = postgres
spring.jpa.hibernate.ddl-auto = create-drop
- Create spring boot JDBC application file
Code –
@SpringBootApplication
public class SpringBootJDBC {
public static void main /* main method of spring boot JDBC application */ (String[] args) {
SpringApplication.run (SpringBootJDBC.class, args);
}
}
- Create a controller for the JDBC application
Code –
@RestController
public class SBJDBCController {
@Autowired
JdbcTemplate sbjdbc;
@RequestMapping("/insert")
public String index(){
sbjdbc.execute ("insert into stud values (101, 'ABC')");
}
}
- Run the application
- Check the data inserted in the database table using the application
Code –
# select * from stud;
Conclusion
JDBC database access is done in an object-oriented manner. It will allow us to run the query and return the result by using the object. JDBC is providing libraries and starters to connect applications with JDBC. JDBC is provided JdbcTemplate class to develop the application.
Recommended Articles
This is a guide to spring boot jdbc. Here we discuss What is spring boot JDBC and what is the purpose of using it, along with the templates and examples. You may also have a look at the following articles to learn more –