JdbcTemplate using Spring Boot provides update(String sql, Object... args) method which supports upsert (nsert or update if exists) operation. You can use this method to perform an upsert operation in the database.
Code Snippet:String sql = "INSERT INTO employee (employeeId, employeeName, employeeDateOfBirth, employeeDepartment, employeeJoiningDate, employeeSalary) " +
"VALUES (:id, :name, :dob, :department, :joiningDate, :salary) " +
"ON DUPLICATE KEY UPDATE " +
"employeeName=VALUES(employeeName), " +
"employeeDateOfBirth=VALUES(employeeDateOfBirth), " +
"employeeDepartment=VALUES(employeeDepartment), " +
"employeeJoiningDate=VALUES(employeeJoiningDate), " +
"employeeSalary=VALUES(employeeSalary)";
MapSqlParameterSource[] batchParams = employees.stream()
.map(employee -> new MapSqlParameterSource()
.addValue("id", employee.getEmployeeId())
.addValue("name", employee.getEmployeeName())
.addValue("dob", Date.valueOf(employee.getEmployeeDateOfBirth()))
.addValue("department", employee.getEmployeeDepartment())
.addValue("joiningDate", Date.valueOf(employee.getEmployeeJoiningDate()))
.addValue("salary", employee.getEmployeeSalary()))
.toArray(MapSqlParameterSource[]::new);
namedParameterJdbcTemplate.batchUpdate(sql, batchParams);
Related Examples:
- Spring Boot: NamedParameterJdbcTemplate batch insert example
- JdbcTemplate Batch Insert Example using Spring Boot
- Spring Boot: JDBCTemplate BatchUpdate Update Query Example
- Spring Boot: JdbcTemplate Update Query With Parameters Example
- JDBCTemplate Querying Examples with Spring Boot 3
Have Questions? Post them here!
- Create a Zip file using Java Code programmatically
- Eclipse : A java Runtime Environment (JRE) or Java Development kit (JDK) must be available
- How to Sort a LinkedList in Java
- Loading class com.mysql.jdbc.Driver. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver
- How to declare and initialize Array in Java Programming
- [Fix] java: integer number too large compilation error
- Java JDBC Connection with MySQL Driver in VS Code + Troubleshooting
- Reading .xls and .xlsx Excel file using Apache POI Java Library
- IntelliJ: Error: Could not find or load main class, java.lang.ClassNotFoundException
- How to get Client IP address using Java Code Example
- Truncate table using Java JDBC Example
- Struts 2 : There is no Action mapped for namespace [/] and action name [form] associated with context path [/proj]
- How to get file path in Idea IntelliJ IDE
- Java Generics explained with simple definition and examples
- Java SE 8 Update 301 available with various bug fixes and security improvements
- Java: Collect Stream as ArrayList or LinkedList
- Java JDBC Connection with PostgreSQL Driver Example
- How to check if Java main thread is alive
- How to fix Java nio NoSuchFileException wile reading a file
- Java 8+ get Day of the Week Examples with LocalDateTime, DateTime, ZonalDateTime and Instant classes
- Ways to Convert Integer or int to Long in Java
- [Java] How to throws Exception using Functional Interface and Lambda code
- [Fix] Spring Boot: mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
- Java: The value of the local variable string is not used
- Java JDBC: Insert Java 8 LocalDate and Time using PreparedStatement
- How to ls command to output one entry per line [macOS/Linux/Bash] - Linux
- [Fix] Error 1020 Cloudflare: Access was denied - HowTos
- Tutorial : Simple Lightweight Pure CSS based Vertical Navigation Menu - CSS
- Android : Unable to load VM from snapshot : Mac OS X Error - Android
- Find Difference of two numbers - C-Program
- Read JSON File in Python Program - Python
- Program 12: Calculate Area and Circumference of Circle - 1000+ Python Programs - Python-Programs
- How to Open Trash on Mac - MacOS