【问题标题】:How do return value from lambda function via jdbcTemplate?如何通过 jdbcTemplate 从 lambda 函数返回值?
【发布时间】:2021-08-05 14:08:54
【问题描述】:
public List<User> getAll(){

        jdbcTemplate.query(query, rs -> {
            Map<Integer, User> userMap= new HashMap<>();

            while (rs.next()) {
                // adding elements

            }
            System.out.println(userMap.values()); // shows me correct result
            return userMap.values(); // not returning
        });
        return null;
    }

此方法返回 null 并忽略 lambda 函数内的返回。 如何接收我在 lambda 中获取的数据?

【问题讨论】:

  • 返回jdbcTemplate.query(...

标签: java spring java-8


【解决方案1】:

jdbcTemplate.query 将返回您在 lambda 函数上返回的任何内容,在这种情况下。查看文档here

所以你可以这样做:

public List<User> getAll(){
    return jdbcTemplate.query(query, rs -> {
        Map<Integer, User> userMap= new HashMap<>();
        while (rs.next()) {
            // adding elements
        }
        return userMap.values();
    });
}

【讨论】:

    猜你喜欢
    • 2023-02-13
    • 2015-08-27
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    相关资源
    最近更新 更多