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