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が最後に書かれているのか疑問に思っていました。それが何の役に立つのか、私には思いつかない。

sまた、いくつかの JDBC テンプレートと、いくつかの JDBC テンプレートからの出力をデータに取り込みたい例のようなオブジェクトがある場合。これを1つの関数で行うことは可能ですか? 何も返さない mapRow 関数を使用して、テンプレートの配列を取得し、それらをループできるようにすることは可能ですか?

ありがとう

4

1 に答える 1

1

db最後のはreturn db、return ステートメントがスキップされる場所を意味します。これは Scala の標準的な規則です。あなたのコードは、 を返すと思われる関数の本体のようdbです。最初のステートメントは、クエリの結果を単純にdb

RowMapper インターフェイスは、次の型の関数への暗黙的な変換に置き換えることができます(ResultSet, Int) => SomeObject。つまり、2 つのパラメーター (ResultSet と Int) を取り、型 SomeObject の結果を返します。

于 2012-07-13T04:25:49.470 に答える