如何使用 Java 8 在 Spring 4 中执行 queryForList?
How to do queryForList in Spring 4 using Java 8?
我正试图同时关注 Spring 4 和 Java 8。我有一个class
EmployeeDTO
|-id
|-Emp_Name
|-Address
当我尝试使用以下代码获取 1 名员工时,它工作正常:
public EmployeeDTO getEmpoloyeebyID(String empId) {
return springJdbcTemplate.queryForObject(sql,
(rs, rowNum) -> {
return new EmployeeDTO(rs.getString("Emp_Name"), rs
.getString("Address"));
}, empId);
}
但现在我想使用 Spring jdbcTemplate 和 Java 获取对象列表 8. 我知道我可以通过使用 Mappers 来获取它。但是我想学习如何像上面的例子那样用 Java 8 来做。我看起来很优雅。
public List<EmployeeDTO> getAllEmpoloyeeByAge(Integer age) {
return springJdbcTemplate.queryForList(sql,<to-do>, age);
}
Class JdbcTemplate
没有可以将 lambda 表达式传递给的名为 queryForList
的方法。
您需要使用 query
方法之一,the one 接受一个 SQL 字符串,一个 RowMapper
和查询参数:
public List<EmployeeDTO> getAllEmployeesByAge(int age) {
return springJdbcTemplate.query(sql, (rs, rowNum) ->
new EmployeeDTO(rs.getString("Emp_Name"), rs.getString("Address")), age);
}
请注意,您的 lambda 表达式与 query
方法的 RowMapper
参数匹配。
我正试图同时关注 Spring 4 和 Java 8。我有一个class
EmployeeDTO
|-id
|-Emp_Name
|-Address
当我尝试使用以下代码获取 1 名员工时,它工作正常:
public EmployeeDTO getEmpoloyeebyID(String empId) {
return springJdbcTemplate.queryForObject(sql,
(rs, rowNum) -> {
return new EmployeeDTO(rs.getString("Emp_Name"), rs
.getString("Address"));
}, empId);
}
但现在我想使用 Spring jdbcTemplate 和 Java 获取对象列表 8. 我知道我可以通过使用 Mappers 来获取它。但是我想学习如何像上面的例子那样用 Java 8 来做。我看起来很优雅。
public List<EmployeeDTO> getAllEmpoloyeeByAge(Integer age) {
return springJdbcTemplate.queryForList(sql,<to-do>, age);
}
Class JdbcTemplate
没有可以将 lambda 表达式传递给的名为 queryForList
的方法。
您需要使用 query
方法之一,the one 接受一个 SQL 字符串,一个 RowMapper
和查询参数:
public List<EmployeeDTO> getAllEmployeesByAge(int age) {
return springJdbcTemplate.query(sql, (rs, rowNum) ->
new EmployeeDTO(rs.getString("Emp_Name"), rs.getString("Address")), age);
}
请注意,您的 lambda 表达式与 query
方法的 RowMapper
参数匹配。