Spring ResultSetExtractor

问题描述 投票:0回答:2

如何使用

ResultSetExtractor
从数据库中检索数据? 这里我使用oracle 10g作为后端。如果从员工表中搜索员工详细信息,使用
ResultSetExtractor
RowMapper
哪个更好?

spring-mvc spring-jdbc
2个回答
0
投票

从 java 8 开始,还可以使用闭包(lambda)作为行映射例程:

String sql = "select first_name, last_name from PERSON where id = ?";

public Person jdbcTemplate.query(sql,(rs)->{return new Person(rs.getString("first_name"), rs.getString("last_name"));}, int id);

第一个方法参数是您的查询, 第二 - 你的映射器 - 需要 Person(String, String) 构造函数。 “first_name”、“last_name”是数据库列名称。 第三 - id 的参数,它是一个可变参数,您可以在其中放置更多参数。


-1
投票

使用 ResultSetExtractor 的更简单示例:

MyDataStructure result = jdbcTemplate.query(sql, new ResultSetExtractor<MyDataStructure>() {

  @Override
  public MyDataStructure extractData(final ResultSet rs) throws ... {
    // collect data from rs here ...
    return myData;
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.