2011-12-21 2 views
0

4 개의 정수 열이있는 단일 행을 반환하는 쿼리가 있습니다. 내가 네 INT 변수의 값을 넣어 JdbcTemplate을 어떻게에서 사용해야 쿼리 방법jdbctemplate을 통한 쿼리 실행

select col1, col2, col3, col4 from myTable where id='xyz'; 

는 INT1, INT2, INT3, INT4 말?

아래 주어진 rowMapper 응답은 필자의 경우에는 작동하지 않습니다. 왜냐하면 내가 설정할 수있는 네 개의 int 속성을 가진 객체가 없기 때문입니다.

메서드에서 독립적 인 쿼리를 실행하고 반환 된 네 개의 열 결과를 해당 메서드의 로컬 변수 인 네 개의 정수로 설정하려고합니다.

알고 싶습니다. JdbcTemplate을 통해 달성 할 수 있습니까 ???

아래 코드가 유효합니까?

List<String> result = this.jdbcTemplate.queryForObject(myQuery, List.class); 

Iterator i = result.iterator(); 

String a = (String) i.next(); 
String b = (String) i.next(); 
String c = (String) i.next(); 
String d = (String) i.next(); 
+1

적절한 이유를 입력하십시오 downvoting? 그 쉬운 질문만으로 모든 사람들이 알 수 있다는 의미는 아닙니다! 그것의 사본이 그 때 다른 질문에 연결을 제공하십시오. 그렇지 않으면 - 유효한 쿼리. 왜 downvote? – Nik

+0

업데이트 된 답변을 참조하십시오. – flash

답변

0

당신은 queryForObject을 사용하고있는 RowMapper를 사용하여 객체에 행을 매핑 할 수 있습니다 :

다음은 간단한 예입니다. 샘플 here을 확인하십시오.

결과를 로컬 변수에 매핑하려면 queryForList (String sql)을 사용하십시오. 샘플 here을 참조하십시오. 변수에 값을 추출 할 수있는 Object 배열 목록을 가져옵니다.

+0

내 업데이트 된 질문을 참조하십시오 !! – Nik

+0

내 수정 된 답변보기 –

0

documentation을 보았습니까?

몇 가지 좋은 예가 있습니다. query() 메서드와 RowMapper 클래스를 살펴보십시오.

//execute query 
List<MyEntity> entityList = jdbcTemplate.query(myQuery, new MyRowMapper()); 

//myEntity is a representation of the rows in the table 
    for (MyEntity myEntity : entityList) { 
     int a = myEntity.getA(); 
     int b = ... 
     //other getters 
    } 

class MyEntity { 
    private int a; 
    private int b; 
    private int c; 
    private int d; 

    public void setA(int a) { 
     this.a = a; 
    } 
    public int getA() { 
     return a; 
    } 

    //other getters & setters 
} 

class MyRowMapper implements RowMapper<MyEntity> { 

    @Override 
    public MyEntity mapRow(ResultSet rs, int rowNum) throws SQLException { 
     MyEntity myEntity = new MyEntity(); 
     myEntity.setA(rs.getInt(0)); 
     myEntity.setB(rs.getInt(1)); 
     myEntity.setC(rs.getInt(2)); 
     myEntity.setD(rs.getInt(3)); 
     return myEntity; 
    } 
} 
+0

내 업데이트 된 질문을 참조하십시오 !! 나는 rowmapper가 나를 어떻게 여기에서 도울 것인지에 관해 모른다! – Nik