1. 개요
① SqlMap - SQL문 설정, Input Data, Output Data를 설정하는 xml 기반 설정 파일
· SqlMap 파일은 SqlMapConfig에 등록한다.
② SqlMapClient interface : SQL문 실행 메소드를 정의
· package : com.ibatis.sqlmap.client
· SqlMapClientBuilder를 통해 얻어 온다.
- Sql Map에 SQL 문을 등록하고 프로그램에서는 SqlMapClient의 메소드를 이용해 등록한 쿼리를 실행 시킨다. 2. Sql Map ① SQL문 등록 태그
② 외부 Parameter, Result 매핑 설정
③ SQL문 생성 태그
3. Parameter mapping
① Sql Map에 쿼리 등록시 세가지 요소 설정 필요 - SQL문 - Parameter : Input Data - Select문의 경우 Result : Output Data ② Parameter Mapping - Parameter : SQL문에 넣을 값 - 인 라인 Parameter, 외부 Parameter 매핑 두가지 방식이 있다. · 인라인 - 값과 값을 넣을 위치를 SQL 안에 설정 · 외부 parameter mmapping - SQL문에는 ?로 설정하고, 넣을 parameter 연결은 SQL문 밖에서 설정 - SqlMapClient의 메소드를 통해 받은 값과 SQL 문에 값이 들어갈 곳을 Mapping 한다. · #parameter name# - 인라인 파라미터 · $parameter name$ - 인라인 파라미터 - parameter name - DTO(VO) : getter와 matching - Map : key와 matching · ? - 외부 파라미터 매칭 ③ '#' 지시자로 인라인 parameter 사용 - ?로 바꾼 뒤 값을 치환한다. - PreparedStatement 형식 - 타입에 맞게 치환 처리 (String의 경우 ''처리) - 값만 치환 가능
④ '$' 지시자로 인라인 parameter 사용 - 전달받은 값을 바로 치환한다. - copy & paste 개념 - String일 경우 ''로 감싸주어야 한다. - 값 뿐만 아니라 키워드 등 쿼리문 무엇이든 치환 가능
4. Parameter 매핑 - 외부 매핑 ① Parameter 매핑의 두가진 방안 - 인라인 매핑 · SqlMap Mapping문 내부에서 바로 기술함. · 매핑이 복잡한 경우 명시적이지 못함. - 외부 매핑 · 외부에서 정의됨 · 보다 명시적임 · 인라인 매핑과 외부 매핑은 같이 사용할 수 없다. - ?와 매칭되어 값이 할당된다.
- SQL문 내 mapping 방법
- 외부 Parameter 매핑이 유용한 경우
· 인라인 Parameter 매핑이 잘 동작하지 않을 경우
· 성능을 향상시킬 경우
· 명시적 매핑을 할 경우
5. Result 매핑
① 명시적 Result 매핑
- <resultMap> : 하나의 resultClass에 대한 설정
· 속성 : id, class
- <result> : 하나의 property와 resultSet의 Column 매핑
- result태그
② Primitive result
- iBATIS는 primitive 형태의 결과를 허용하지 않음(int, long, double, ..)
- Wrapping된 형태의 타입을 리턴(Integer, Long, Double, ..)
'프로그래밍 > ibatis(Mybatis)' 카테고리의 다른 글
ibatis resultMap,typeAlias,insert,select (0) | 2012.06.15 |
---|---|
iBatis를 통한 SQL문 실행(ibatis의 javaBean, select, insert,Parameter매핑,Result 매핑) (0) | 2012.06.15 |
iBatis 예제 - insert와 select하기 (0) | 2012.06.15 |
iBATIS 실행 흐름도와 설정파일 (0) | 2012.06.15 |
iBATIS Quick Start (0) | 2012.06.15 |