0

我是 Scala 的新手,我正在查看一些涉及 Spring JDBC 模板和 RowMapper 的 Scala 代码:

它是这样的:

val db = jdbcTemplate.queryForObject(QUERY, new RowMapper[SomeObject]() {
  def mapRow(ResultSet rs, int rowNum) {
     var s = new SomeObject()
     s.setParam1 = rs.getDouble("columnName")
     return s
  }
  })
   db

我是凭记忆写的,所以我只使用了通用名称。

我想知道为什么 db 写在最后。我想不出它有什么用途。

此外,如果我有几个 JDBC 模板和一个像s示例中的对象,我想用几个 JDBC 模板的输出填充它的数据。是否可以在一个功能中做到这一点?是否有可能有一个不返回任何内容的 mapRow 函数,以便我可以拥有一个模板数组并循环遍历它们?

谢谢

4

1 回答 1

1

dbat the end 表示return db跳过 return 语句的位置。这是 Scala 中的标准约定。似乎您的代码是应该返回的函数的主体db。第一条语句只是将查询结果分配给db

RowMapper 接口可以替换为隐式转换为以下类型的函数(ResultSet, Int) => SomeObject,这意味着它接受两个参数(ResultSet 和 Int)并返回 SomeObject 类型的结果

于 2012-07-13T04:25:49.470 回答