레퍼런스 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
38 [POST] Spring MVC 구조 분석 황제낙엽 2024.01.17 1
37 OAuth 2.0 Resource Server - Spring Security OAuth2.0 황제낙엽 2023.12.27 1
36 [시리즈 강좌] 스프링부트로 웹서비스 구축하기 황제낙엽 2023.07.13 3
35 [Spring3.1.1] ResponseBody 한글깨짐 해결법 황제낙엽 2018.08.08 140
34 [Spring3.1.1][4] RestTemplate 한글 문제 황제낙엽 2018.08.08 89
33 [Spring3.1.1][3] RestTemplate 한글 문제 황제낙엽 2018.08.08 237
32 [Spring3.1.1][2] RestTemplate 한글 문제 황제낙엽 2018.08.08 113
31 [Spring3.1.1][1] RestTemplate 한글 문제 황제낙엽 2018.08.08 683
» NamedParameterJdbcDaoSupport 몇가지 장점 황제낙엽 2007.11.27 101
29 Spring AOP - Pointcut 황제낙엽 2007.10.02 129
28 <spring:checkbox> tip! 황제낙엽 2007.10.01 378
27 스프링 2와 JPA 시작하기 (한글) 황제낙엽 2007.08.27 142
26 Spring 2.0의 XML확장기능 (3) 황제낙엽 2007.08.15 32
25 Spring 2.0의 XML확장기능 (2) 황제낙엽 2007.08.15 73
24 Spring 2.0의 XML확장기능 (1) 황제낙엽 2007.08.15 33
23 스프링의 구조별 기능 설명 황제낙엽 2007.06.26 42
22 자바지기 스프링 프레임웍 아티클 황제낙엽 2007.06.04 54
21 AOP(Aspect Oriented Programming) 황제낙엽 2007.06.03 39
20 Spring MVC 어플리케이션 개발 <12> 간단한 조회 구현 방안 비교 황제낙엽 2007.05.27 31