프로그래밍/Mybatis

Mybatis-Spring의 주요 컴포넌트의 역할

Jay Tech 2017. 1. 3. 11:30
반응형

Mybatis설정파일(sqlMapConfig.xml) => VO 객체의 정보를 설정한다.


SqlSessionFactoryBean => MyBatis 설정파일을 바탕ㅇ로 SqlSessionFactory를 생성한다. Spring Bean으로 등록해야 한다.


SqlSessionTemplate => 핵심적인 역할을 하는 클래스로서 SQL 실행이나 트랜잭션 관리를 한다.

   SqlSession 인터페이스를 구현해야 하며, Thread-safe 하다.

   Spring Bean으로 등록해야 한다.



Mappinng 파일 => SQL문과 OR Mapping을 설정한다.


Spring Bean 설정파일(bean,xml) => SqlSessionTemplate을 Bean으로 등록한다.




예제)




쿼리문이 런타임에 동적으로 작동한다.

태그를 보면 가가 쿼리문에 해당하는 태그임을 알 수 있다. 

insert에서는 getUserId getName getGender... 등 VO에서 꺼내온다.



Mybatis Configuration 파일





VO 객체들을 추가하여 alias로 관리 한다.




데이터 액세스 계층의 DAO 구현 클래스




UserDaoImpl 클래스에서 session.update()에 namespace인 userNS를 등록해주면 그 안의 태그 id에 있는 쿼리문을 실행한다.

결과적으로 내부 VO에 저장되고 조회되는 과정이 진행 된다.

반응형