gpt4 book ai didi

java - 如何使用 Java 8 在 Spring 4 中执行 queryForList?

转载 作者:行者123 更新时间:2023-11-30 02:53:30 24 4
gpt4 key购买 nike

我正在尝试同时了解 Spring 4 和 Java 8。我有课

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 获取对象列表。我知道我也许可以通过使用映射器来获取它。但我想学习如何使用 Java 8 来做到这一点,就像上面的例子一样。我看起来很优雅。

public List<EmployeeDTO> getAllEmpoloyeeByAge(Integer age) {

return springJdbcTemplate.queryForList(sql,<to-do>, age);
}

最佳答案

JdbcTemplate没有名为 queryForList 的方法,您可以将 lambda 表达式传递给该方法。

您需要使用其中一种查询方法,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 参数相匹配。

关于java - 如何使用 Java 8 在 Spring 4 中执行 queryForList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37921000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com