【问题标题】:Spring ResultSetExtractorSpring ResultSetExtractor
【发布时间】:2012-10-09 05:10:00
【问题描述】:

如何使用ResultSetExtractor从数据库中检索数据? 这里我使用 oracle 10g 作为后端。如果从员工表中搜索员工详细信息,使用ResultSetExtractorRowMapper 哪个更好?

【问题讨论】:

    标签: spring-mvc spring-jdbc


    【解决方案1】:

    从 java 8 开始也可以使用闭包(lambdas)作为行映射例程:

    String sql = "select first_name, last_name from PERSON where id = ?";
    
    public Person jdbcTemplate.query(sql,(rs)->{return new Person(rs.getString("first_name"), rs.getString("last_name"));}, int id);
    

    第一个方法参数是您的查询, 第二 - 你的映射器 - Person(String, String) 需要构造函数。 “first_name”、“last_name”是 db 列名。 第三 - id 的 arg,它是一个 vararg,您可以在其中放置更多参数。

    【讨论】:

      【解决方案2】:

      使用 ResultSetExtractor 的更简单示例:

      MyDataStructure result = jdbcTemplate.query(sql, new ResultSetExtractor<MyDataStructure>() {
      
        @Override
        public MyDataStructure extractData(final ResultSet rs) throws ... {
          // collect data from rs here ...
          return myData;
        }
      });
      

      【讨论】:

      • 对我投反对票的问题有错吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 2016-09-23
      • 2012-10-29
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多