如何从结果集中获取单行

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

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

java jdbc spring-jdbc jdbctemplate
1个回答
1
投票

例如,对于单行,您可以使用此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
);
© www.soinside.com 2019 - 2024. All rights reserved.