backend/iBatis

[iBATIS] 1.Overview ~ 3. Introduce iBATIS

버리야 2008. 8. 28. 19:06
반응형

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 매핑과 같은 구조적인 강점

관심사의 분리: 차후 유지보수성을 높여줄 있도록 설계를 향상 시킬있다.

작업의 분배: 전문성을 강화하기 위해 팀을 세분화하는것을돕는다(프로그램 잘짜면 프로그램짜고, 쿼리잘짜면 쿼리짜고)

이식성



반응형