Не делайте этого. Наличие нескольких операторов в lambda
в большинстве случаев является запахом кода . Скорее создайте метод с двумя параметрами:
private Player toPlayer(ResultSet rs, int rowNum) {
// multiple setters here
return player;
}
и затем передайте method reference
(который на самом деле будет вести себя как BiFunction
) вместо lambda
:
new JdbcTemplate(new SingleConnectionDataSource(c, true))
.query("select id, name from PLAYERS", this::toPlayer);
Можно хотеть создать вспомогательный метод stati c вместо динамического c. Логика c такая же, как указано выше:
public class MappingUtil {
// ...
public static Player toPlayer(ResultSet rs, int rowNum) {
// multiple setters here
return player;
}
}
А затем:
new JdbcTemplate(new SingleConnectionDataSource(c, true))
.query("select id, name from PLAYERS", MappingUtil::toPlayer);