문제

스프링 프레임 워크에는 두 가지 유사한 클래스가 있습니다.

jdbctemplate에는 방법이 있습니다 setQueryTimeout, 기본적으로 기본 명령문 객체에서 동일한 이름의 메소드에 액세스 할 수 있습니다.

비슷한 일을 할 수있는 방법이 있습니까? SimpleJdBctemplate?

해결책: Skaffman의 답변을 바탕으로 나는 SimpleJdbcTemplate a JdbcTemplate, 이제 내가 원하는대로 할 수 있습니다. 암호:

JdbcTemplate jdbcTemplate = this.getJdbcTemplate();
jdbcTemplate.setQueryTimeout(30);
SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(jdbcTemplate);

약간의 입이지만 일을 끝냅니다.

업데이트: 이것은 실제로 필요한 것보다 더 복잡합니다. 답을 참조하십시오.

도움이 되었습니까?

해결책

SimpleJdbcTemplate는 대체품이 아닙니다 JdbcTemplate, Varargs와 제네릭을 최대한 활용할 수있는 특정 작업을 위해 Java5 친화적 인 보충제 일뿐입니다.

소스를 보면 SimpleJdbcTemplate, 당신은 그것이 모든 작업을 JdbcTemplate 객체 및 시간 초과 (또는 다른 옵션)를 설정하여 JdbcTemplate, 당신은 암시 적으로 그들을 설정합니다 SimpleJdbcTemplate 또한.

당신이 얻는 경우 SimpleJdbcTemplate ~을 통해 SimpleJdbcDaoSupport.getSimpleJdbcTemplate(), 그런 다음 JdbcTemplate 이미 올바르게 연결되어 있습니다.

편집하다:

예를 들어:

public class MyDao extends SimpleJdbcDaoSupport {
    public void doStuff() {
        getJdbcTemplate().setQueryTimeout(x);
        getSimpleJdbcTemplate().execute(...);
    }
}

SimpleJdbctemplate에는 getjdbctemplate ()에 의해 검색된 것과 동일한 jdbctemplate이 포함되어 있습니다.

simplejdbcdaosupport를 확장하지 않으면 예, simplejdbctemplate을 직접 수동으로 만들어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top