1.1 복합적인 솔루션: 최고 중의 최고들로 구성하기
1.1.1 iBatis의 기원 답사
1) SQL
iBatis는 관계형 데이터베이스에 접근하는 1차적인 방법으로 SQL 사용을 채택하였다.
2) 옛날식의 저장 프로시저
2-티어 설계방식으로 많이 사용되던 관계형 데이터베이스 프로그램
3) 현대적인 저장 프로시저
4) 인라인 SQL
5) 동적 SQL
6) 객체 관계 매핑(ORM)
1.1.2 IBatis의 장점 이해하기
방법 | 비스한 이점 | 해결된 문제점 |
저장 프로시저 | iBatis는 SQL을 캡슐화하고 외부로 분리하여 애프리케이션 외부에 SQL을 둔다. IBatis는 저장 프로시저와 비슷하지만 객체지향적인 API를 제공한다.iBatis는 또한 저장 프로시저를 직접 호출하는 방법도 지원한다. | 비즈니스 로직이 데이터베이스 밖에 있도록 한다. 배포하기 쉽다. 테스트하기 쉽다. 이식성이 좋다. |
인라인 SQL | iBatis는 SQL을 원형 그대로 작성할 수 있다. 문자열 연결이나 파라미터 값 설정, 결과 값 가져오기 등이 불필요하다. | iBatis는 애플리케이션 코드내에 삽입되지 않는다. 전처리기가 불필요하다. SQL의 일부가 아닌 모든 기능을 사용할 수 있다. |
동적 SQL | iBatis는 파라미터를 기반으로 하여 동적으로 쿼리를 구성하는 기능을 제공한다. 쿼리 구성 API는 필요없다. | iBatis는 애플리케이션 코드에 섞인 연결된 문자열 블록으로 SQL을 작성할 필요가 없다. |
객체 / 관계 매핑 | iBatis는 ORM 도구의 적재 지연, 조인해서 값 가져오기, 실시간 코드 생성, 상속 등과 같은 많은 기능들을 동일하게 제공한다. | iBatis는 어떠한 데이터 모델과 객체모델의 조합도 사용할 수 있다. 이들을 어떻게 설계 할지에 대한 제약이나 규칙 같은 것은 거의 없다. |
1) 외부로 뺀 SQL
2) 캡슐화된 SQL
댓글 없음:
댓글 쓰기