레퍼런스 NamedParameterJdbcDaoSupport 몇가지 장점

황제낙엽 2007.11.27 21:20 조회 수 : 101 추천: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작성 불필요

번호 제목 글쓴이 날짜 조회 수
공지 (확인전) [2021.03.12] Eclipse에서 Spring Boot로 JSP사용하기(Gradle) 황제낙엽 2023.12.23 0
공지 [작성중/인프런] 스프링부트 시큐리티 & JWT 강의 황제낙엽 2023.12.20 6
63 [Spring3.1.1][4] RestTemplate 한글 문제 황제낙엽 2018.08.08 89
62 [Spring3.1.1][3] RestTemplate 한글 문제 황제낙엽 2018.08.08 237
61 [Spring3.1.1][2] RestTemplate 한글 문제 황제낙엽 2018.08.08 113
60 [Spring3.1.1][1] RestTemplate 한글 문제 황제낙엽 2018.08.08 683
59 [Spring3.1.1] Eclipse 에 Spring Framework 환경 구축하기 file 황제낙엽 2018.08.08 90
58 웹 개발의 변화와 스프링 황제낙엽 2008.03.19 132
57 Spring MVC 가 아닌 환경에서 Spring Pojo Bean 사용하기 (Pure Java App 또는 Servlet App) 황제낙엽 2009.10.22 233
» NamedParameterJdbcDaoSupport 몇가지 장점 황제낙엽 2007.11.27 101
55 프로젝트의 기본이 되는 Logging, Exception 처리 전략 황제낙엽 2007.01.30 85
54 Spring AOP - Pointcut 황제낙엽 2007.10.02 129
53 <spring:checkbox> tip! 황제낙엽 2007.10.01 378
52 SimpleFormController 정리 황제낙엽 2007.09.19 206
51 Spring의 Exception 황제낙엽 2007.09.17 194
50 스프링 2와 JPA 시작하기 (한글) 황제낙엽 2007.08.27 142
49 스프링 개발팁 황제낙엽 2007.08.17 223
48 유효성체크 (org.springframework.validation.Validator) 황제낙엽 2007.08.17 129
47 Spring 2.0의 XML확장기능 (3) 황제낙엽 2007.08.15 32
46 Spring 2.0의 XML확장기능 (2) 황제낙엽 2007.08.15 73
45 Spring 2.0의 XML확장기능 (1) 황제낙엽 2007.08.15 33
44 CSS와 XHTML을 사용한 효율적인 View 개발 전략 황제낙엽 2007.01.30 104