레퍼런스 NamedParameterJdbcDaoSupport 몇가지 장점

황제낙엽 2007.11.27 21:20 조회 수 : 304 추천:129

sitelink1  
sitelink2  
sitelink3  
extra_vars6  
http://www.javaservice.net/~java/bbs/read.cgi?m=resource&b=consult&c=r_p&n=1196132928&p=1&s=t#1196132928비교 요약이 아니므로, IBatis랑 중복되는 장점일 수도 있으며
Spring framework NamedParam... 의 기본제공 API가 아니고 이를 base로 하여
더욱 확장해야 하는 부분일 수 있습니다.


1. 테이블 맵핑 XML 불필요
   Ibatis처럼 특정 테이블 정보에 대한 XML 맵핑이 불필요.
   데이터소스로 부터 테이블 레이아웃 자동 파싱

2. 파라메터 및 리절트 데이터 VO 맵핑 불필요
   < select id="getOrdersByUsername" resultClass="order" parameterClass="string" >
    처럼 Statement의 타입 및 parameterClass/resultClass에 대한 맵핑 불필요
    코드내 리플랙션을 통한 자동 바인딩 및 결과값 구성

2. 멀티 데이터소스 XA 트랜잭션 지원
   분산 데이터베이스 환경에 대한 지원으로 여러개의 DataSource 및 원격지의
   데이터 소스 사용가능
   CODE)
  
   JDBCMapProcessor p = JDBCProcessorFactory.getJDBCMapProcessor();
   p.setDataSourceName("OracleXADS");
   ..
   p2.setDataSourceName("OracleXADS22");
   ...
  
 
3. CRUD 기본 스테이트먼트 자동화
   FindByALL
   FindByPrimaryKey
   FindCountByPramaryKey
   FindCountAll
   Delete
   Insert
   Update
   ....
   등 복잡한 Join이 포함되지 않은 SQL은 작성이 필요없습니다.
   CODE)
     //테이블명과 모드로 자동으로 쿼리 실행
      JDBCMapProcessor p = JDBCProcessorFactory.getJDBCMapProcessor();
      p.setTableNames("MY_TABLE");
      p.setStatus(UPDATE);  //---FindByALL/FindByPrimaryKey/.....
      p.setDataMap(dataMaps);
      p.execute();


4. 캐쉬 및 SQL 로깅
   환경설정을 통한 스테이트먼트 캐슁 및 실행된 SQL 로깅, 특정 시간 초과 SQL에 대한 성능 경고

5. DEV/PROD 모드 전환을 통한 XML 리로딩
   개발환경시 서버 재시작은 없는 XML적용

6. 관리 콘솔을 통한 환경설정/SQL등록
   에티터를 통한 SQL등록/관리의 불편함 대신 웹콘솔로 SQL등록/관리
   (이부분은 이클립스 플러그인으로 됬음 좋겠음)

6. JDBC 하드코딩 수준의 성능

7. Standard Dynamic SQL구사로 프레임워크에 맞춰진 SQL 문법작성 불필요.


주저리주저리 적어서 정신이 없네요.^^;
가장 큰 장점으로 치면,

1.XML 맵핑의 최소화
2.프로젝트내 70%이상(?) 기본 SQL작성 불필요

번호 제목 글쓴이 날짜 조회 수
57 Spring MVC 가 아닌 환경에서 Spring Pojo Bean 사용하기 (Pure Java App 또는 Servlet App) 황제낙엽 2009.10.22 541
» NamedParameterJdbcDaoSupport 몇가지 장점 황제낙엽 2007.11.27 304
55 프로젝트의 기본이 되는 Logging, Exception 처리 전략 황제낙엽 2007.01.30 344
54 Spring AOP - Pointcut 황제낙엽 2007.10.02 357
53 <spring:checkbox> tip! 황제낙엽 2007.10.01 656
52 SimpleFormController 정리 황제낙엽 2007.09.19 483
51 Spring의 Exception 황제낙엽 2007.09.17 421
50 스프링 2와 JPA 시작하기 (한글) 황제낙엽 2007.08.27 406
49 스프링 개발팁 황제낙엽 2007.08.17 473
48 유효성체크 (org.springframework.validation.Validator) 황제낙엽 2007.08.17 344
47 Spring 2.0의 XML확장기능 (3) 황제낙엽 2007.08.15 230
46 Spring 2.0의 XML확장기능 (2) 황제낙엽 2007.08.15 263
45 Spring 2.0의 XML확장기능 (1) 황제낙엽 2007.08.15 234
44 CSS와 XHTML을 사용한 효율적인 View 개발 전략 황제낙엽 2007.01.30 336
43 스프링의 구조별 기능 설명 황제낙엽 2007.06.26 285
42 실습 STEP2 - 기초편 (데이터 베이스 접속) file 황제낙엽 2007.06.21 244
41 java.util.MissingResourceException: Can't find bundle for base name xxx, locale ko_KR 황제낙엽 2007.06.21 2784
40 자바지기 스프링 프레임웍 아티클 황제낙엽 2007.06.04 273
39 AOP(Aspect Oriented Programming) 황제낙엽 2007.06.03 262
38 Spring MVC 어플리케이션 개발 <12> 간단한 조회 구현 방안 비교 황제낙엽 2007.05.27 237