2009-09-29 3 views
1

두 모델간에 성능 차이는 얼마나됩니까? 다른 하나를 사용하는 이유는 무엇입니까?스프링 RDBMS 대 JDBC 템플릿

내 응용 프로그램에서는 Object와 프리미티브를 모두 똑같은 구문으로 사용하고 있습니다. 몇 가지 오라클 내장 프로 시저 호출이 있으며 성능이 최우선 과제입니다.

+0

정확히 "Spring RDBMS"는 무엇입니까? "Spring ORM"을 지원하셨습니까? – ChssPly76

+0

아마도 그는 저장 프로 시저, SQL 쿼리 등을 모델링하기위한 클래스 모델을 의미합니다. – skaffman

+0

RdbmsOperation abstact 클래스에 대한 하위 클래스를 의미합니다. - SqlQuery, StoredProcedure, BatchSqlUpdate 등 – Adam

답변

1

아마, 의도는 spring doc에서 가장 잘 포착됩니다. RdbmsOperations는 재사용 가능한 객체로 캡처 SQL 작업을 설계했습니다. 예를 들어 UpdateAcccount를 작업으로 사용할 수 있으며 호출 할 때마다 필요한 매개 변수 만 전달합니다. 고유 한 사용자 정의 클래스이므로 유형 검사 및 유효성 검증 논리는 사용자 정의 될 수 있습니다. JDBCTemplate은 다른 한편으로는 전통적인 JDBC를 모델로하여 호출 할 때마다 sql, parameters, row mapper를 전달합니다. 당신은 아마 스스로 검증 로직과 파라미터 변환을 만들어야 할 것입니다.

org.springframework.jdbc.core 패키지에는 JdbcTemplate 클래스 및 다양한 콜백 인터페이스와 다양한 관련 클래스가 포함되어 있습니다.

다음으로 org.springframework.jdbc.object 패키지에는 RDBMS 쿼리, 업데이트 및 저장 프로 시저를 스레드 안전하고 재사용 가능한 객체로 나타내는 클래스가 들어 있습니다. 이 접근법은 JDO에 의해 모델링됩니다. 물론 쿼리에 의해 반환되는 객체는 데이터베이스와 "연결이 끊어졌습니다". 이 높은 수준의 JDBC 추상화는 org.springframework.jdbc.core 패키지의 하위 레벨 추상화에 따라 다릅니다.

성능 차이는 모르지만 RdmsOperation 코드는 매우 간단하므로 중요한 오버 헤드가 발생하지 않습니다. 그러나 doc처럼 프로그래밍 선택입니다. 어떤 사람들은 이전 사람이 더 많은 사람 (OO) 인 것을 발견하지만, 어떤 사람들은 전통적인 사람이 더 쉽다는 것을 알게됩니다.