[Database/ibatis] iBatis – Basic Meta Data
mybatis-config.xml
핵심 MetaData.
properties 관리 : 애플리케이션에 배포 할 때,
공통적인 부분이나 환경별 다른 값들은 Properties에
독립적으로 관리.
대개 DBMS에 접속하는 정보를 작성한다.
ClassName 관리 : FQCN(Full Qualified Class Name) 을 별칭(Alias)으로 관리
기타 설정 : 트랜잭션처리, 커넥션풀 설정, SQL 등 여러 환경설정을 등록,설정한다.
UserMapper.xml
SQL 를 갖는 MetaData
MyBatis Framework는 XML MetaData 를 사용하여 SQL구문을 관리한다.
(SQL은 xml 을 통해 캡슐화 되어 애플리케이션 외부로 분리함)
namespace 이용하여 Application 에서 하위의 SQL 을 참조한다.
Query를 수행 후 resultType에 선언된 해당 VO의 Field에 Binding한다.
Query 의 Alias, VO 의 Field의 이름이 동일한 것 확인한다.
MyBatis Framework 의 이해
- SQL, Connection, Transaction을 Meta Data로 Encapsulation 하였으며,
(mybatis-config.xml / UserMapper.xml)
Query의 수행 결과를 VO에 바인딩한다.
(JDBC API를 사용하여 반복적으로 수행 하는 것을 한 줄로 표현한 것이다.)
List<User> list = sqlSession.selectList("UserMapper.getUserList");
- MyBatis Framework 의 장점
ㅇ 단순하다 (다른 라이브러리와 의존적 관계가 없다. )
ㅇ SQL 과 VO를 바인딩한다.
ㅇ 생산성 / 성능 / 작업의 분배 (소스코드와 SQL 의 분리)
ㅇ 관심사의 분리
(DBMS 에 독립적인 API제공 및
JDBC API가 아닌 비지니스 객체만 가지고 작업)
결론 : MyBatis Framework 는 JDBC 절차를 간결화, 추상화, 캡슐화한 library다.
'Java > ibatis' 카테고리의 다른 글
[Database/ibatis] Only JDBC (0) | 2016.11.06 |
---|---|
[Database/ibatis] 일괄처리 (0) | 2016.08.24 |