2016-06-20 10 views
1

私はSpring 4とJava 8を同時に使いたいと思っています。 8Java 8を使用してSpring 4でqueryForListを実行する方法は?

public EmployeeDTO getEmpoloyeebyID(String empId) { 

     return springJdbcTemplate.queryForObject(sql, 
       (rs, rowNum) -> { 
        return new EmployeeDTO(rs.getString("Emp_Name"), rs 
          .getString("Address")); 
       }, empId); 
    } 

しかし、今、私は春jdbcTemplateとJavaを使用してオブジェクトの一覧を取得したい:私は1人の従業員を取得するために以下のコードをしようとすると、私は、クラスに

EmployeeDTO 
|-id 
|-Emp_Name 
|-Address 

を持って、それが正常に動作します私はマッパーを使ってそれを得ることができるかもしれないことを知っています。しかし、私は上記の例のようにJava 8でそれを行う方法を学びたいと思う。私は優雅に見えます。

public List<EmployeeDTO> getAllEmpoloyeeByAge(Integer age) { 

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

答えて

2

クラスJdbcTemplateは、あなたがあなたのラムダ式を渡すことができqueryForListという名前のメソッドを持っていません。あなたのラムダ式はquery方法のRowMapper引数に一致

public List<EmployeeDTO> getAllEmployeesByAge(int age) { 
    return springJdbcTemplate.query(sql, (rs, rowNum) -> 
     new EmployeeDTO(rs.getString("Emp_Name"), rs.getString("Address")), age); 
} 

注:

あなたはqueryのいずれかの方法で、SQLの文字列を受け取りthe oneRowMapperおよびクエリ引数を使用する必要があります。

関連する問題