java - RowMapper 如何成为匿名类

标签 java spring

我正在阅读 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/

相关文章:

java - Raspberry Pi 无法在 JavaFX 应用程序中隐藏鼠标光标

java - 错误 : Could not find or load main class HelloWorld

java - Spring-boot 中 ConditionalOnBean 的意外行为

spring - Docker Compose + Spring Boot + Postgres 连接

java - cURL命令上传文件不上传文件

java - 将 Jtable 行字体更改为粗体

java - 如何编写 Java 注释处理器?

spring - 测试 Spring Boot Batch 应用程序时如何配置 EntityManagerFactoryBuilder bean?

java - 上课地点

java - Spring:如何在主bean创建后初始化相关的惰性bean