如何从结果集中获取单行

rag*_*uri 5 java jdbc spring-jdbc jdbctemplate

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

Lpp*_*Edd 4

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

JdbcTemplate#query(java.lang.String sql, ResultSetExtractor<T> rse, java.lang.Object... args)`
Run Code Online (Sandbox Code Playgroud)

意思是

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

或者,如果您想维持BeanPropertyRowMapper

jdbcTemplate.queryForObject(
      sqlStatement, 
      new BeanPropertyRowMapper(MyPojo.class),
      statementArgument1,
      statementArgument2
);
Run Code Online (Sandbox Code Playgroud)