Java/ibatis

[Database/ibatis] iBatis – Basic Meta Data

양승길 2016. 11. 6. 21:42

[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구문을 관리한다.

(SQLxml 을 통해 캡슐화 되어 애플리케이션 외부로 분리함)


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