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작성 불필요
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작성 불필요