[spring] iBatis, MyBatis Framework 아키텍처
컬럼의 이름과 동일하게 만들었으므로 자동으로 매핑된다.
어떻게 세팅이 되는지 주의 깊게 본다.
이름만 잘 매핑되면 자동으로 처리된다.
SQL 구문이 XML 문서로 존재한다. 환경이 달라진다.
프레임워크 이므로, 환경 설정 파일이 있다.
2
버전 이하는 iBatis
3
버전 이상은 MyBatis
JDBC
Connection 부터 시작
중복코드 발생
결과값 핸들링을 해야함.
직접 while loop 로 처리
?
에 세팅 작업 필요
Spring
DataSource 라는 환경을 기본으로 함
JDBCTemplate
(커넥션을 알아야 함.)
RowMapper 를 사용하여 결과값 처리
세팅을 위한 인터페이스 제공
PreparedStatementSetter
iBatis
DataSource 라는 환경을 기본으로 함
SqlMapClient
(생성이 되기 위해서는 DataSource 를 알아야 함)
결과값 처리 resultClass
세팅을 위해서 parameterMap, parameterClass
MyBatis
DataSource 라는 환경을 기본으로 함
SqlSession
(생성이 되기 위해서는 DataSource 를 알아야 함)
결과값 처리 result Type
세팅을 위해서 parameterType
JDBC | Spring | iBatis | MyBatis |
---|---|---|---|
Connection 부터 시작 중복코드 발생 |
DataSource 라는 환경을 기본으로 함JDBCTemplate (커넥션을 알아야 함.) |
DataSource 라는 환경을 기본으로 함SqlMapClient (생성이 되기 위해서는 DataSource 를 알아야 함) |
DataSource 라는 환경을 기본으로 함SqlSession (생성이 되기 위해서는 DataSource 를 알아야 함) |
결과값 핸들링을 해야함. 직접 while loop 로 처리 |
RowMapper 를 사용하여 결과값 처리 | 결과값 처리 resultClass | 결과값 처리 result Type |
? 에 세팅 작업 필요 |
세팅을 위한 인터페이스 제공PreparedStatementSetter |
세팅을 위해서 parameterMap , parameterClass |
세팅을 위해서 parameterType |
iBatis vs. MyBatis
iBatis | MyBatis | 비고 |
---|---|---|
com.ibatis.* | org.apache.ibatis.* | 패키지 구조 변경 |
SqlMapConfig | Configuration | 용어변경 |
sqlMap | mapper | 용어변경 |
sqlMapClient | sqlSession | 구문대체 |
rowHandler | resultHandler | 구문대체 |
resultHandler | SqlSessionFactory | 구문대체 |
parameterMap, parameterClass | parameterType | 속성 통합 |
resultClass | resultType | 용어변경 |
#var# | #{var} | 구문대체 |
$var$ | ${var} | 구문대체 |
<isEqula>, <isNull> | <if> | 구문대체 |
'Programming > Spring' 카테고리의 다른 글
[spring] MyBatis 구현 (0) | 2016.04.25 |
---|---|
[spring] iBatis 구현 (0) | 2016.04.25 |
[Spring] JDBC 설정 (0) | 2016.04.24 |
[spring] 데이터 접근 디자인 패턴 (0) | 2016.04.23 |
[spring] 다국어 지원 (0) | 2016.04.22 |
댓글