2012-07-12 2 views
0

내가 스칼라 새로운 오전과 나는 봄 JDBC 템플릿과 RowMapper를 포함 스칼라 코드의 비트에서 찾고 :스칼라 JDBC 템플릿과 RowMapper를

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 템플리트의 출력으로 데이터를 채우려는 예제에서 여러 개의 JDBC 템플리트 및 s과 같은 오브젝트가있는 경우. 한 가지 기능으로이 작업을 수행 할 수 있습니까? MapRow 함수를 사용하여 아무 것도 반환하지 않아도 템플릿 배열을 가질 수 있습니까?

감사 끝에

답변

1

db는 return 문이 생략됩니다 return db 의미한다. 이것은 스칼라의 표준 규칙입니다. 귀하의 코드가 db을 반환한다고 가정하는 함수 본문처럼 보입니다. 첫 번째 문장은 단순히 두 개의 매개 변수 (ResultSet의 및 int)를 취한다는 것을 의미 다음 유형 (ResultSet, Int) => SomeObject의 함수 implicit conversion로 치환 될 수있는 db

RowMapper의 인터페이스에 대한 조회의 결과를 할당하고, 결과를 리턴 SomeObject

을 입력하십시오.