如何从结果集中获取单行

时间:2019-02-26 22:37:31

标签: java jdbc spring-jdbc jdbctemplate

我有一个返回两行的SQL查询。我已经使用BeanPropertyRowMapper来检索查询结果,并且我想使用第一行并将特定值分配给pojo。如何从结果集中检索单行

1 个答案:

答案 0 :(得分:0)

例如,对于单行,您可以使用此JdbcTemplate#query重载

JdbcTemplate#query(java.lang.String sql, ResultSetExtractor<T> rse, java.lang.Object... args)`

什么意思

jdbctTemplate.query(
      sqlStatement,
      resultSet -> {
         final MyPojo pojo = new MyPojo();
         pojo.setOne(resultSet.getString(1));
         pojo.setTwo(resultSet.getInt(2));
         return pojo;
      },
      statementArgument1, 
      statementArgument2
);

或者,如果您想维护BeanPropertyRowMapper

jdbcTemplate.queryForObject(
      sqlStatement, 
      new BeanPropertyRowMapper(MyPojo.class),
      statementArgument1,
      statementArgument2
);