Step 1: Add the Spring JDBC dependency in your pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
Step 2: Configure your database in the application.properties
spring.datasource.url=jdbc:mysql://localhost/prodDB
spring.datasource.username=prodUser
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
Step 3: Create JDBCTemplete @Bean
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
Step 3: Create Table in your Database & Insert few records
CREATE TABLE `employee` (
`employeeId` int(5) NOT NULL,
`employeeName` varchar(255) NOT NULL,
`employeeDateOfBirth` date NOT NULL,
`employeeDepartment` varchar(255) NOT NULL,
`employeeJoiningDate` date NOT NULL,
`employeeSalary` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
COMMIT;
insert into employee values(101,'Mike','2001-04-11','IT','2021-01-01',24000);
Step 4: Create @Repository Class with Update Query
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class AppRepository {
private final JdbcTemplate jdbcTemplate;
public MyRepository(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
}
Step 5: Create Update Query with Parameters
private String empName="Jose";
private String empDept="Finance";
private int empId=101;
public void updateRecord(String name, int age, long id) {
String updateQuery = "UPDATE employee SET employeeName = ?, employeeDepartment = ? WHERE employeeId = ?";
jdbcTemplate.update(updateQuery, empName, empDept, empId);
}
You can also make use of the named parameters instead of the ? in the query.
Example:public void updateRecord(String name, int age, long id) {
String updateQuery = "UPDATE employee SET employeeName = :empName, employeeDepartment = :empDept WHERE employeeId = :empId";
Map<String, Object> params = new HashMap<>();
params.put("empName", empName);
params.put("employeeDepartment", empDept);
params.put("employeeId", empId);
jdbcTemplate.update(updateQuery, params);
}
Facing issues? Have Questions? Post them here! I am happy to answer!
Author Info:
Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.
Follow him on: X
You can also reach out to him via e-mail: rakesh@code2care.org
More Posts related to Java,
- Get the current timestamp in Java
- Java Stream with Multiple Filters Example
- Java SE JDBC with Prepared Statement Parameterized Select Example
- Fix: UnsupportedClassVersionError: Unsupported major.minor version 63.0
- [Fix] Java Exception with Lambda - Cannot invoke because object is null
- 7 deadly java.lang.OutOfMemoryError in Java Programming
- How to Calculate the SHA Hash Value of a File in Java
- Java JDBC Connection with Database using SSL (https) URL
- How to Add/Subtract Days to the Current Date in Java
- Create Nested Directories using Java Code
- Spring Boot: JDBCTemplate BatchUpdate Update Query Example
- What is CA FE BA BE 00 00 00 3D in Java Class Bytecode
- Save Java Object as JSON file using Jackson Library
- Adding Custom ASCII Text Banner in Spring Boot Application
- [Fix] Java: Type argument cannot be of primitive type generics
- List of New Features in Java 11 (JEPs)
- Java: How to Add two Maps with example
- Java JDBC Transition Management using PreparedStatement Examples
- Understanding and Handling NullPointerException in Java: Tips and Tricks for Effective Debugging
- Steps of working with Stored Procedures using JDBCTemplate Spring Boot
- Java 8 java.util.Function and BiFunction Examples
- The Motivation Behind Generics in Java Programming
- Get Current Local Date and Time using Java 8 DateTime API
- Java: Convert Char to ASCII
- Deep Dive: Why avoid java.util.Date and Calendar Classes
More Posts:
- Permanently set $PATH variable in Mac Zsh shell - MacOS
- How to enable more encoding support in Mac Terminal - MacOS
- M1/M2 Mac VirtualBox Unsupported hardware architecture detected! - MacOS
- Save current timestamp in MySQL using PHP mysqi binding - PHP
- Android Studio 1.3 beta now Available for Developers - Android-Studio
- How to See Hidden Folders and Files on macOS - Mac-OS-X
- SharePoint update append Required Field to display name of mandatory columns - SharePoint
- Parsing a YAML file in Python Example - Python