春天ResultSetExtractor类(Spring ResultSetExtractor)

2019-08-01 05:59发布

如何使用ResultSetExtractor从数据库中获取数据? 在这里我使用Oracle 10g作为后端。 在搜索EMPLOYEE表中哪一个是更好地使用一个雇员的详细信息的情况下, ResultSetExtractorRowMapper

Answer 1:

人们也可以使用闭包(lambda表达式)作为行映射例程由于Java 8:

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);

第一种方法参数是您的查询,第二个 - 您的映射 - 人(字符串,字符串),需要构造函数。 “FIRST_NAME”,“姓氏”是DB-列名。 三 - 此ID的阿根廷,这是一个可变参数,你可以把更多的PARAMS。



Answer 2:

一个简单的例子:

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

  @Override
  public MyDataStructure extractData(final ResultSet rs) throws ... {
    // collect data from rs here ...
    return myData;
  }
});


文章来源: Spring ResultSetExtractor