java - 如何从结果集中获取单行

标签 java jdbc spring-jdbc jdbctemplate

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

最佳答案

例如,对于单行,您可以使用此 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
);

关于java - 如何从结果集中获取单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54895317/

相关文章:

java - 无法使用 XML 配置运行第一个 spring 程序。我收到这个错误

java - java更新时出错

java - Spring boot 2 的 Redshift jdbc 连接配置不起作用

java - 为什么spring应用程序上下文每次都要加载

java - Java中数组的和

Java - JFrame 保存多行

java - 正则表达式、ANTLR 或任何其他解决方案?

java - 结果集 - 游标 : rs. next() 花费大量时间

mysql - 避免与 MySQL ON DUPLICATE KEY UPDATE Spring JDBC 死锁

spring 从已弃用的版本转换