iBATIS
1. Overview
2. Why use iBATIS?
3. Introduce iBATIS
4. How to
5. Transaction
6. iBATIS + Spring
7. iBATIS + Spring + transaction
8. Annotation 기반으로 JUnit4를 이용한 Spring TDD
9. Reference
1. Overview
개발자에게 JavaBeans objects를 PreparedStatement parameters와 ResultMaps로 쉽게 매핑을 할 수 있도록 한다. 이를 통하여 database에 접근하기 위한 자바코드의 양을 줄일수있다.
현재 iBatis는 세가지 언어: 자바, C#, Ruby로 구현되어 있다.
2. Why use iBATIS?
OR맵핑툴을 사용하지 않을때 하위레벨의 JDBC코드를 쓰거나 관리할때 많은 자원을 소비 한다는것이다. 모든JDBC애플리케이션은 다음과 같은 반복코드를 가진다.
1. 데이터베이스연결및트랜잭션관리
2. 쿼리파라미터를자바객체와셋팅하기.
3. SQL ResultSets를자바객체로변환하기.
4. 쿼리문생성하기.
iBatis는 진입장벽이 낮은 프레임워크, JDBC의 복잡하고 반복적인 코드를 모두 없애주면서도 SQL을 그대로 사용하기 때문에 "익숙해서 배우기 쉬우면서, 생산성과 유지보수성을 높여 주는 프레임워크" 자바코드의20%를 사용하여 JDBC기능의 80%를 제공하는 간단한 프레임워크
=> 더빠른 JDBC 코딩을 위한 일반화된 프레임워크
3. Introduce iBATIS
iBATIS 퍼시스턴스계층의 중요한 특징: SQL의 외부저장과 캡슐화=> 간결함과 일관성
외부로뺀SQL :
SQL을 애플리케이션소스 코드로부터 분리하여 유지. 이렇게함으로써 SQL은 상대적으로 특정언어나 플랫폼에 독립적인 상태가 된다. SQL문만 튜닝을 하고 싶을때 SQL문만 보낼수있다.
캡슐화된SQL :
캡슐화는 코드를 응집성있는 모듈로 조직하는것뿐만 아니라 또한 세부적인 구현을 숨기고 호출하는 코드에게인터페이스만을 노출시키는 모듈화의 한 형태
애플리케이션의 다른 부분으로부터 SQL코드를 숨겨서 SQL을 캡슐화 할수있다.
iBATIS는 SQL을 캡슐화 하기 위해 XML을 사용한다. XML은 모든 플랫폼에 이식가능. iBATIS는 XML을 사용하여 SQL 구문의 입력과 출력을 정의
iBATIS는 파라미터와 실행 결과를 객체의 프로퍼티로 매핑하게 한다.
특징
간단함: 가장 간단한 퍼시스턴스 프레임워크로 간주됨
생산성: JDBC에 비해 62% 정도 줄어드는 간결한 코드와 간단한설정
성능: 데이터접근 속도를 높여주는 join 매핑과 같은 구조적인 강점
관심사의 분리: 차후 유지보수성을 높여줄 수 있도록 설계를 향상 시킬수있다.
작업의 분배: 전문성을 강화하기 위해 팀을 세분화하는것을돕는다(프로그램 잘짜면 프로그램짜고, 쿼리잘짜면 쿼리짜고)
이식성
'backend > iBatis' 카테고리의 다른 글
[iBatis] iBatis에서 Log4j를 이용하여 쿼리를 로그로 남기려면? (4) | 2009.01.20 |
---|---|
[iBatis] 자동 생성 Key (2) | 2009.01.18 |
[iBatis] 자바빈즈와 Map 타입의 결과 (0) | 2009.01.18 |
[iBATIS] 8. Annotation 기반으로 JUnit4를 이용한 Spring TDD ~ 9. Reference (4) | 2008.09.03 |
[iBATIS] 7. iBATIS + Spring + transaction (0) | 2008.09.02 |
[iBATIS] 6. iBATIS + Spring (0) | 2008.09.01 |
[iBATIS] 5. Transaction (2) | 2008.09.01 |
[iBATIS] 4. How to (2) | 2008.08.29 |