我正在阅读 Spring in Action 并发现类似这样的内容,如果它是按照 RowMapper 的接口(interface),任何人都可以解释我们如何将 RowMapper 用作匿名类。文档。
public Employee getEmployeeById(long id) {
return jdbcTemplate.queryForObject(
"select id, firstname, lastname, salary " +
"from employee where id=?",
new RowMapper<Employee>() {
public Employee mapRow(ResultSet rs,
int rowNum) throws SQLException {
Employee employee = new Employee();
employee.setId(rs.getLong("id"));
employee.setFirstName(rs.getString("firstname"));
employee.setLastName(rs.getString("lastname"));
employee.setSalary(rs.getBigDecimal("salary"));
return employee;
}
},
id);
}
最佳答案
匿名类 new Something() {...}
不是 Something
的实例。相反,它是 Something
的子类/实现。因此,从接口(interface)派生匿名类是完全有效和有用的。
关于java - RowMapper 如何成为匿名类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18534021/