【问题标题】:How to get single row from resultset如何从结果集中获取单行
【发布时间】:2019-07-20 13:48:45
【问题描述】:

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

【问题讨论】:

    标签: java jdbc spring-jdbc jdbctemplate


    【解决方案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
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-03
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      • 2018-10-30
      • 2017-04-22
      • 2020-01-09
      相关资源
      最近更新 更多