From 8e1e357c9d5660a310e5eeb292235a6a30e7a99f Mon Sep 17 00:00:00 2001 From: Amit Pandey Date: Thu, 28 Dec 2023 20:24:32 +0530 Subject: [PATCH] Java 29169 :- Upgrade spring-jdbc to Spring Boot 3 (#15423) --- persistence-modules/spring-jdbc/pom.xml | 8 ++++++-- .../repository/MessageRepositoryJDBCTemplate.java | 6 ++++-- .../repository/MessageRepositorySimpleJDBCInsert.java | 2 +- .../replacedeprecated/model/StudentResultExtractor.java | 2 +- .../baeldung/spring/jdbc/template/guide/EmployeeDAO.java | 4 ++-- .../spring/jdbc/template/inclause/EmployeeDAO.java | 3 +-- .../baeldung/spring/jdbc/autogenkey/autogenkey-schema.sql | 2 +- .../spring/jdbc/autogenkey/GetAutoGenKeyByJDBC.java | 1 - .../jdbc/template/guide/EmployeeDAOIntegrationTest.java | 4 ++-- 9 files changed, 18 insertions(+), 14 deletions(-) diff --git a/persistence-modules/spring-jdbc/pom.xml b/persistence-modules/spring-jdbc/pom.xml index 1cf4c141b3..fc56d132af 100644 --- a/persistence-modules/spring-jdbc/pom.xml +++ b/persistence-modules/spring-jdbc/pom.xml @@ -8,11 +8,15 @@ com.baeldung - parent-boot-2 + parent-boot-3 0.0.1-SNAPSHOT - ../../parent-boot-2 + ../../parent-boot-3 + + com.baeldung.spring.jdbc.batch.SpringJdbcBatchPerformanceApplication + + org.springframework.data diff --git a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/autogenkey/repository/MessageRepositoryJDBCTemplate.java b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/autogenkey/repository/MessageRepositoryJDBCTemplate.java index 0f47473bd7..6306d63a41 100644 --- a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/autogenkey/repository/MessageRepositoryJDBCTemplate.java +++ b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/autogenkey/repository/MessageRepositoryJDBCTemplate.java @@ -1,6 +1,7 @@ package com.baeldung.spring.jdbc.autogenkey.repository; import java.sql.PreparedStatement; +import java.sql.Statement; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; @@ -21,7 +22,8 @@ public class MessageRepositoryJDBCTemplate { KeyHolder keyHolder = new GeneratedKeyHolder(); jdbcTemplate.update(connection -> { - PreparedStatement ps = connection.prepareStatement(INSERT_MESSAGE_SQL); + PreparedStatement ps = connection.prepareStatement(INSERT_MESSAGE_SQL, + Statement.RETURN_GENERATED_KEYS); ps.setString(1, message); return ps; }, keyHolder); @@ -32,7 +34,7 @@ public class MessageRepositoryJDBCTemplate { final String SELECT_BY_ID = "select message from sys_message where id = ?"; public String getMessageById(long id) { - return this.jdbcTemplate.queryForObject(SELECT_BY_ID, String.class, new Object[] { id }); + return this.jdbcTemplate.queryForObject(SELECT_BY_ID, String.class, id); } } diff --git a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/autogenkey/repository/MessageRepositorySimpleJDBCInsert.java b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/autogenkey/repository/MessageRepositorySimpleJDBCInsert.java index 247fbf28c2..cb2c0bf5a8 100644 --- a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/autogenkey/repository/MessageRepositorySimpleJDBCInsert.java +++ b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/autogenkey/repository/MessageRepositorySimpleJDBCInsert.java @@ -20,7 +20,7 @@ public class MessageRepositorySimpleJDBCInsert { } public long insert(String message) { - Map parameters = new HashMap(1); + Map parameters = new HashMap<>(1); parameters.put("message", message); Number newId = messageInsert.executeAndReturnKey(parameters); return (long) newId; diff --git a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/replacedeprecated/model/StudentResultExtractor.java b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/replacedeprecated/model/StudentResultExtractor.java index d2da59e5f9..7559987992 100644 --- a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/replacedeprecated/model/StudentResultExtractor.java +++ b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/replacedeprecated/model/StudentResultExtractor.java @@ -10,7 +10,7 @@ import java.util.List; public class StudentResultExtractor implements ResultSetExtractor> { @Override public List extractData(ResultSet rs) throws SQLException { - List students = new ArrayList(); + List students = new ArrayList<>(); while(rs.next()) { Student student = new Student(); student.setStudentId(rs.getInt("student_id")); diff --git a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAO.java b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAO.java index 11ecd84000..2560c01840 100644 --- a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAO.java +++ b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAO.java @@ -57,7 +57,7 @@ public class EmployeeDAO { } public int addEmplyeeUsingSimpelJdbcInsert(final Employee emp) { - final Map parameters = new HashMap(); + final Map parameters = new HashMap<>(); parameters.put("ID", emp.getId()); parameters.put("FIRST_NAME", emp.getFirstName()); parameters.put("LAST_NAME", emp.getLastName()); @@ -68,7 +68,7 @@ public class EmployeeDAO { public Employee getEmployee(final int id) { final String query = "SELECT * FROM EMPLOYEE WHERE ID = ?"; - return jdbcTemplate.queryForObject(query, new Object[] { id }, new EmployeeRowMapper()); + return jdbcTemplate.queryForObject(query, new EmployeeRowMapper(), id); } public void addEmplyeeUsingExecuteMethod() { diff --git a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/inclause/EmployeeDAO.java b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/inclause/EmployeeDAO.java index 38b4a58355..9d6194936b 100644 --- a/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/inclause/EmployeeDAO.java +++ b/persistence-modules/spring-jdbc/src/main/java/com/baeldung/spring/jdbc/template/inclause/EmployeeDAO.java @@ -35,8 +35,7 @@ public class EmployeeDAO { String inSql = String.join(",", Collections.nCopies(ids.size(), "?")); List employees = jdbcTemplate.query( String.format("SELECT * FROM EMPLOYEE WHERE id IN (%s)", inSql), - ids.toArray(), - (rs, rowNum) -> new Employee(rs.getInt("id"), rs.getString("first_name"), rs.getString("last_name"))); + (rs, rowNum) -> new Employee(rs.getInt("id"), rs.getString("first_name"), rs.getString("last_name")), ids.toArray()); return employees; } diff --git a/persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/autogenkey/autogenkey-schema.sql b/persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/autogenkey/autogenkey-schema.sql index 925b27143c..6bd0cf1497 100644 --- a/persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/autogenkey/autogenkey-schema.sql +++ b/persistence-modules/spring-jdbc/src/main/resources/com/baeldung/spring/jdbc/autogenkey/autogenkey-schema.sql @@ -1,5 +1,5 @@ CREATE TABLE IF NOT EXISTS sys_message ( - id bigint(20) NOT NULL AUTO_INCREMENT, + id bigint NOT NULL AUTO_INCREMENT, message varchar(100) NOT NULL, PRIMARY KEY (id) ); \ No newline at end of file diff --git a/persistence-modules/spring-jdbc/src/test/java/com/baeldung/spring/jdbc/autogenkey/GetAutoGenKeyByJDBC.java b/persistence-modules/spring-jdbc/src/test/java/com/baeldung/spring/jdbc/autogenkey/GetAutoGenKeyByJDBC.java index 86a23ecc3e..71eb13fe75 100644 --- a/persistence-modules/spring-jdbc/src/test/java/com/baeldung/spring/jdbc/autogenkey/GetAutoGenKeyByJDBC.java +++ b/persistence-modules/spring-jdbc/src/test/java/com/baeldung/spring/jdbc/autogenkey/GetAutoGenKeyByJDBC.java @@ -7,7 +7,6 @@ import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.test.context.junit4.SpringRunner; import com.baeldung.spring.jdbc.autogenkey.repository.MessageRepositoryJDBCTemplate; diff --git a/persistence-modules/spring-jdbc/src/test/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAOIntegrationTest.java b/persistence-modules/spring-jdbc/src/test/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAOIntegrationTest.java index b382895143..53cf40c118 100644 --- a/persistence-modules/spring-jdbc/src/test/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAOIntegrationTest.java +++ b/persistence-modules/spring-jdbc/src/test/java/com/baeldung/spring/jdbc/template/guide/EmployeeDAOIntegrationTest.java @@ -81,7 +81,7 @@ public class EmployeeDAOIntegrationTest { @Test public void testBatchUpdateUsingJDBCTemplate() { - final List employees = new ArrayList(); + final List employees = new ArrayList<>(); final Employee emp1 = new Employee(); emp1.setId(10); emp1.setFirstName("firstName1"); @@ -113,7 +113,7 @@ public class EmployeeDAOIntegrationTest { @Test public void testBatchUpdateUsingNamedParameterJDBCTemplate() { - final List employees = new ArrayList(); + final List employees = new ArrayList<>(); final Employee emp1 = new Employee(); emp1.setId(40); emp1.setFirstName("firstName4");