diff --git a/spring-all/src/main/java/org/baeldung/jdbc/CustomSQLErrorCodeTranslator.java b/spring-all/src/main/java/org/baeldung/jdbc/CustomSQLErrorCodeTranslator.java index 4ccecc097b..8a02fe6a53 100644 --- a/spring-all/src/main/java/org/baeldung/jdbc/CustomSQLErrorCodeTranslator.java +++ b/spring-all/src/main/java/org/baeldung/jdbc/CustomSQLErrorCodeTranslator.java @@ -6,18 +6,14 @@ import org.springframework.dao.DataAccessException; import org.springframework.dao.DuplicateKeyException; import org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator; -public class CustomSQLErrorCodeTranslator extends -SQLErrorCodeSQLExceptionTranslator { +public class CustomSQLErrorCodeTranslator extends SQLErrorCodeSQLExceptionTranslator { @Override - protected DataAccessException customTranslate(final String task, - final String sql, final SQLException sqlException) { - if (sqlException.getErrorCode() == -104) { - return new DuplicateKeyException( - "Custome Exception translator - Integrity contraint voilation.", - sqlException); - } - return null; + protected DataAccessException customTranslate(final String task, final String sql, final SQLException sqlException) { + if (sqlException.getErrorCode() == -104) { + return new DuplicateKeyException("Custome Exception translator - Integrity contraint voilation.", sqlException); + } + return null; } } diff --git a/spring-all/src/main/java/org/baeldung/jdbc/Employee.java b/spring-all/src/main/java/org/baeldung/jdbc/Employee.java index 8649dfd779..e9408eb7fa 100644 --- a/spring-all/src/main/java/org/baeldung/jdbc/Employee.java +++ b/spring-all/src/main/java/org/baeldung/jdbc/Employee.java @@ -10,35 +10,35 @@ public class Employee { private String address; public int getId() { - return id; + return id; } public void setId(final int id) { - this.id = id; + this.id = id; } public String getFirstName() { - return firstName; + return firstName; } public void setFirstName(final String firstName) { - this.firstName = firstName; + this.firstName = firstName; } public String getLastName() { - return lastName; + return lastName; } public void setLastName(final String lastName) { - this.lastName = lastName; + this.lastName = lastName; } public String getAddress() { - return address; + return address; } public void setAddress(final String address) { - this.address = address; + this.address = address; } } diff --git a/spring-all/src/main/java/org/baeldung/jdbc/EmployeeDAO.java b/spring-all/src/main/java/org/baeldung/jdbc/EmployeeDAO.java index 719bee31fa..1f0e7b28ad 100644 --- a/spring-all/src/main/java/org/baeldung/jdbc/EmployeeDAO.java +++ b/spring-all/src/main/java/org/baeldung/jdbc/EmployeeDAO.java @@ -30,103 +30,84 @@ public class EmployeeDAO { @Autowired public void setDataSource(final DataSource dataSource) { - jdbcTemplate = new JdbcTemplate(dataSource); - final CustomSQLErrorCodeTranslator customSQLErrorCodeTranslator = new CustomSQLErrorCodeTranslator(); - jdbcTemplate.setExceptionTranslator(customSQLErrorCodeTranslator); + jdbcTemplate = new JdbcTemplate(dataSource); + final CustomSQLErrorCodeTranslator customSQLErrorCodeTranslator = new CustomSQLErrorCodeTranslator(); + jdbcTemplate.setExceptionTranslator(customSQLErrorCodeTranslator); - namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource); - simpleJdbcInsert = new SimpleJdbcInsert(dataSource) - .withTableName("EMPLOYEE"); + namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource); + simpleJdbcInsert = new SimpleJdbcInsert(dataSource).withTableName("EMPLOYEE"); } public int getCountOfEmployees() { - return jdbcTemplate.queryForObject("SELECT COUNT(*) FROM EMPLOYEE", - Integer.class); + return jdbcTemplate.queryForObject("SELECT COUNT(*) FROM EMPLOYEE", Integer.class); } public List getAllEmployees() { - return jdbcTemplate.query("SELECT * FROM EMPLOYEE", - new EmployeeRowMapper()); + return jdbcTemplate.query("SELECT * FROM EMPLOYEE", new EmployeeRowMapper()); } public int addEmplyee(final int id) { - return jdbcTemplate.update("INSERT INTO EMPLOYEE VALUES (?, ?, ?, ?)", - id, "Bill", "Gates", "USA"); + return jdbcTemplate.update("INSERT INTO EMPLOYEE VALUES (?, ?, ?, ?)", id, "Bill", "Gates", "USA"); } public int addEmplyeeUsingSimpelJdbcInsert(final Employee emp) { - final Map parameters = new HashMap(); - parameters.put("ID", emp.getId()); - parameters.put("FIRST_NAME", emp.getFirstName()); - parameters.put("LAST_NAME", emp.getLastName()); - parameters.put("ADDRESS", emp.getAddress()); + final Map parameters = new HashMap(); + parameters.put("ID", emp.getId()); + parameters.put("FIRST_NAME", emp.getFirstName()); + parameters.put("LAST_NAME", emp.getLastName()); + parameters.put("ADDRESS", emp.getAddress()); - return simpleJdbcInsert.execute(parameters); + return simpleJdbcInsert.execute(parameters); } public Employee getEmployee(final int id) { - final String query = "SELECT * FROM EMPLOYEE WHERE ID = ?"; - return jdbcTemplate.queryForObject(query, new Object[] { id }, - new EmployeeRowMapper()); + final String query = "SELECT * FROM EMPLOYEE WHERE ID = ?"; + return jdbcTemplate.queryForObject(query, new Object[] { id }, new EmployeeRowMapper()); } public void addEmplyeeUsingExecuteMethod() { - jdbcTemplate - .execute("INSERT INTO EMPLOYEE VALUES (6, 'Bill', 'Gates', 'USA')"); + jdbcTemplate.execute("INSERT INTO EMPLOYEE VALUES (6, 'Bill', 'Gates', 'USA')"); } public String getEmployeeUsingMapSqlParameterSource() { - final SqlParameterSource namedParameters = new MapSqlParameterSource() - .addValue("id", 1); + final SqlParameterSource namedParameters = new MapSqlParameterSource().addValue("id", 1); - return namedParameterJdbcTemplate.queryForObject( - "SELECT FIRST_NAME FROM EMPLOYEE WHERE ID = :id", - namedParameters, String.class); + return namedParameterJdbcTemplate.queryForObject("SELECT FIRST_NAME FROM EMPLOYEE WHERE ID = :id", namedParameters, String.class); } public int getEmployeeUsingBeanPropertySqlParameterSource() { - final Employee employee = new Employee(); - employee.setFirstName("James"); + final Employee employee = new Employee(); + employee.setFirstName("James"); - final String SELECT_BY_ID = "SELECT COUNT(*) FROM EMPLOYEE WHERE FIRST_NAME = :firstName"; + final String SELECT_BY_ID = "SELECT COUNT(*) FROM EMPLOYEE WHERE FIRST_NAME = :firstName"; - final SqlParameterSource namedParameters = new BeanPropertySqlParameterSource( - employee); + final SqlParameterSource namedParameters = new BeanPropertySqlParameterSource(employee); - return namedParameterJdbcTemplate.queryForObject(SELECT_BY_ID, - namedParameters, Integer.class); + return namedParameterJdbcTemplate.queryForObject(SELECT_BY_ID, namedParameters, Integer.class); } public int[] batchUpdateUsingJDBCTemplate(final List employees) { - return jdbcTemplate.batchUpdate( - "INSERT INTO EMPLOYEE VALUES (?, ?, ?, ?)", - new BatchPreparedStatementSetter() { + return jdbcTemplate.batchUpdate("INSERT INTO EMPLOYEE VALUES (?, ?, ?, ?)", new BatchPreparedStatementSetter() { - @Override - public void setValues(final PreparedStatement ps, - final int i) throws SQLException { - ps.setInt(1, employees.get(i).getId()); - ps.setString(2, employees.get(i).getFirstName()); - ps.setString(3, employees.get(i).getLastName()); - ps.setString(4, employees.get(i).getAddress()); - } + @Override + public void setValues(final PreparedStatement ps, final int i) throws SQLException { + ps.setInt(1, employees.get(i).getId()); + ps.setString(2, employees.get(i).getFirstName()); + ps.setString(3, employees.get(i).getLastName()); + ps.setString(4, employees.get(i).getAddress()); + } - @Override - public int getBatchSize() { - return 3; - } - }); + @Override + public int getBatchSize() { + return 3; + } + }); } - public int[] batchUpdateUsingNamedParameterJDBCTemplate( - final List employees) { - final SqlParameterSource[] batch = SqlParameterSourceUtils - .createBatch(employees.toArray()); - final int[] updateCounts = namedParameterJdbcTemplate - .batchUpdate( - "INSERT INTO EMPLOYEE VALUES (:id, :firstName, :lastName, :address)", - batch); - return updateCounts; + public int[] batchUpdateUsingNamedParameterJDBCTemplate(final List employees) { + final SqlParameterSource[] batch = SqlParameterSourceUtils.createBatch(employees.toArray()); + final int[] updateCounts = namedParameterJdbcTemplate.batchUpdate("INSERT INTO EMPLOYEE VALUES (:id, :firstName, :lastName, :address)", batch); + return updateCounts; } } diff --git a/spring-all/src/main/java/org/baeldung/jdbc/EmployeeRowMapper.java b/spring-all/src/main/java/org/baeldung/jdbc/EmployeeRowMapper.java index 23f38a2959..f926836c40 100644 --- a/spring-all/src/main/java/org/baeldung/jdbc/EmployeeRowMapper.java +++ b/spring-all/src/main/java/org/baeldung/jdbc/EmployeeRowMapper.java @@ -8,15 +8,14 @@ import org.springframework.jdbc.core.RowMapper; public class EmployeeRowMapper implements RowMapper { @Override - public Employee mapRow(final ResultSet rs, final int rowNum) - throws SQLException { - final Employee employee = new Employee(); + public Employee mapRow(final ResultSet rs, final int rowNum) throws SQLException { + final Employee employee = new Employee(); - employee.setId(rs.getInt("ID")); - employee.setFirstName(rs.getString("FIRST_NAME")); - employee.setLastName(rs.getString("LAST_NAME")); - employee.setAddress(rs.getString("ADDRESS")); + employee.setId(rs.getInt("ID")); + employee.setFirstName(rs.getString("FIRST_NAME")); + employee.setLastName(rs.getString("LAST_NAME")); + employee.setAddress(rs.getString("ADDRESS")); - return employee; + return employee; } } diff --git a/spring-all/src/main/java/org/baeldung/jdbc/config/SpringJdbcConfig.java b/spring-all/src/main/java/org/baeldung/jdbc/config/SpringJdbcConfig.java index 64e18792a1..f7eb592366 100644 --- a/spring-all/src/main/java/org/baeldung/jdbc/config/SpringJdbcConfig.java +++ b/spring-all/src/main/java/org/baeldung/jdbc/config/SpringJdbcConfig.java @@ -15,20 +15,18 @@ public class SpringJdbcConfig { @Bean public DataSource dataSource() { - return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.HSQL) - .addScript("classpath:jdbc/schema.sql") - .addScript("classpath:jdbc/test-data.sql").build(); + return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.HSQL).addScript("classpath:jdbc/schema.sql").addScript("classpath:jdbc/test-data.sql").build(); } // @Bean public DataSource mysqlDataSource() { - final DriverManagerDataSource dataSource = new DriverManagerDataSource(); - dataSource.setDriverClassName("com.mysql.jdbc.Driver"); - dataSource.setUrl("jdbc:mysql://localhost:3306/springjdbc"); - dataSource.setUsername("guest_user"); - dataSource.setPassword("guest_password"); + final DriverManagerDataSource dataSource = new DriverManagerDataSource(); + dataSource.setDriverClassName("com.mysql.jdbc.Driver"); + dataSource.setUrl("jdbc:mysql://localhost:3306/springjdbc"); + dataSource.setUsername("guest_user"); + dataSource.setPassword("guest_password"); - return dataSource; + return dataSource; } } \ No newline at end of file diff --git a/spring-all/src/test/java/org/baeldung/jdbc/EmployeeDAOTest.java b/spring-all/src/test/java/org/baeldung/jdbc/EmployeeDAOTest.java index 29378c9b81..d544409254 100644 --- a/spring-all/src/test/java/org/baeldung/jdbc/EmployeeDAOTest.java +++ b/spring-all/src/test/java/org/baeldung/jdbc/EmployeeDAOTest.java @@ -22,123 +22,118 @@ public class EmployeeDAOTest { @Test public void testGetCountOfEmployees() { - Assert.assertEquals(employeeDao.getCountOfEmployees(), 9); + Assert.assertEquals(employeeDao.getCountOfEmployees(), 9); } @Test public void testQueryMethod() { - Assert.assertEquals(employeeDao.getAllEmployees().size(), 4); + Assert.assertEquals(employeeDao.getAllEmployees().size(), 4); } @Test public void testUpdateMethod() { - Assert.assertEquals(employeeDao.addEmplyee(5), 1); + Assert.assertEquals(employeeDao.addEmplyee(5), 1); } @Test public void testAddEmployeeUsingSimpelJdbcInsert() { - final Employee emp = new Employee(); - emp.setId(11); - emp.setFirstName("testFirstName"); - emp.setLastName("testLastName"); - emp.setAddress("testAddress"); + final Employee emp = new Employee(); + emp.setId(11); + emp.setFirstName("testFirstName"); + emp.setLastName("testLastName"); + emp.setAddress("testAddress"); - Assert.assertEquals(employeeDao.addEmplyeeUsingSimpelJdbcInsert(emp), 1); + Assert.assertEquals(employeeDao.addEmplyeeUsingSimpelJdbcInsert(emp), 1); } @Test public void testExecuteMethod() { - employeeDao.addEmplyeeUsingExecuteMethod(); + employeeDao.addEmplyeeUsingExecuteMethod(); } @Test public void testMapSqlParameterSource() { - Assert.assertEquals("James", - employeeDao.getEmployeeUsingMapSqlParameterSource()); + Assert.assertEquals("James", employeeDao.getEmployeeUsingMapSqlParameterSource()); } @Test public void testBeanPropertySqlParameterSource() { - Assert.assertEquals(1, - employeeDao.getEmployeeUsingBeanPropertySqlParameterSource()); + Assert.assertEquals(1, employeeDao.getEmployeeUsingBeanPropertySqlParameterSource()); } @Test public void testCustomExceptionTranslator() { - employeeDao.addEmplyee(7); + employeeDao.addEmplyee(7); - try { - employeeDao.addEmplyee(7); - } catch (final DuplicateKeyException e) { - System.out.println(e.getMessage()); - Assert.assertTrue(e - .getMessage() - .contains( - "Custome Exception translator - Integrity contraint voilation.")); - } + try { + employeeDao.addEmplyee(7); + } catch (final DuplicateKeyException e) { + System.out.println(e.getMessage()); + Assert.assertTrue(e.getMessage().contains("Custome Exception translator - Integrity contraint voilation.")); + } } @Test public void testBatchUpdateUsingJDBCTemplate() { - final List employees = new ArrayList(); - final Employee emp1 = new Employee(); - emp1.setId(10); - emp1.setFirstName("firstName1"); - emp1.setLastName("lastName1"); - emp1.setAddress("address1"); + final List employees = new ArrayList(); + final Employee emp1 = new Employee(); + emp1.setId(10); + emp1.setFirstName("firstName1"); + emp1.setLastName("lastName1"); + emp1.setAddress("address1"); - final Employee emp2 = new Employee(); - emp2.setId(20); - emp2.setFirstName("firstName2"); - emp2.setLastName("lastName2"); - emp2.setAddress("address2"); + final Employee emp2 = new Employee(); + emp2.setId(20); + emp2.setFirstName("firstName2"); + emp2.setLastName("lastName2"); + emp2.setAddress("address2"); - final Employee emp3 = new Employee(); - emp3.setId(30); - emp3.setFirstName("firstName3"); - emp3.setLastName("lastName3"); - emp3.setAddress("address3"); + final Employee emp3 = new Employee(); + emp3.setId(30); + emp3.setFirstName("firstName3"); + emp3.setLastName("lastName3"); + emp3.setAddress("address3"); - employees.add(emp1); - employees.add(emp2); - employees.add(emp3); + employees.add(emp1); + employees.add(emp2); + employees.add(emp3); - employeeDao.batchUpdateUsingJDBCTemplate(employees); + employeeDao.batchUpdateUsingJDBCTemplate(employees); - Assert.assertTrue(employeeDao.getEmployee(10) != null); - Assert.assertTrue(employeeDao.getEmployee(20) != null); - Assert.assertTrue(employeeDao.getEmployee(30) != null); + Assert.assertTrue(employeeDao.getEmployee(10) != null); + Assert.assertTrue(employeeDao.getEmployee(20) != null); + Assert.assertTrue(employeeDao.getEmployee(30) != null); } @Test public void testBatchUpdateUsingNamedParameterJDBCTemplate() { - final List employees = new ArrayList(); - final Employee emp1 = new Employee(); - emp1.setId(40); - emp1.setFirstName("firstName4"); - emp1.setLastName("lastName4"); - emp1.setAddress("address4"); + final List employees = new ArrayList(); + final Employee emp1 = new Employee(); + emp1.setId(40); + emp1.setFirstName("firstName4"); + emp1.setLastName("lastName4"); + emp1.setAddress("address4"); - final Employee emp2 = new Employee(); - emp2.setId(50); - emp2.setFirstName("firstName5"); - emp2.setLastName("lastName5"); - emp2.setAddress("address5"); + final Employee emp2 = new Employee(); + emp2.setId(50); + emp2.setFirstName("firstName5"); + emp2.setLastName("lastName5"); + emp2.setAddress("address5"); - final Employee emp3 = new Employee(); - emp3.setId(60); - emp3.setFirstName("firstName6"); - emp3.setLastName("lastName6"); - emp3.setAddress("address6"); + final Employee emp3 = new Employee(); + emp3.setId(60); + emp3.setFirstName("firstName6"); + emp3.setLastName("lastName6"); + emp3.setAddress("address6"); - employees.add(emp1); - employees.add(emp2); - employees.add(emp3); + employees.add(emp1); + employees.add(emp2); + employees.add(emp3); - employeeDao.batchUpdateUsingNamedParameterJDBCTemplate(employees); + employeeDao.batchUpdateUsingNamedParameterJDBCTemplate(employees); - Assert.assertTrue(employeeDao.getEmployee(40) != null); - Assert.assertTrue(employeeDao.getEmployee(50) != null); - Assert.assertTrue(employeeDao.getEmployee(60) != null); + Assert.assertTrue(employeeDao.getEmployee(40) != null); + Assert.assertTrue(employeeDao.getEmployee(50) != null); + Assert.assertTrue(employeeDao.getEmployee(60) != null); } }