본문 바로가기
개발노트/Spring

MyBatis 기초 개념

by vendi2 2020. 9. 1.
  • MyBatis : 개발자가 지정한 SQL 고급 매핑을 지원하는 프레임워크이다.
  • MyBatis : JDBC 코드와 수동으로 셋팅하는 파라미터와 결과 매핑을 제거한다
  • MyBatis : DAO 계층을 대신한다.
  • MyBatis : 기존 DAO의 인터페이스의 구현클래스를 xml 파일이 대신한다.

[다운로드]

http://www.mybatis.org/mybatis-3/

 

출처: KGITBank Spring 수업자료

상단 그림과 같이 MVC2 과정 : Controller -> Service -> DAO -> DB 과정에서 서비스와 DB 사이에 DAO를 대신해 MyBatis를 넣어줍니다.


1.  [pom.xml]

 

<!-- MyBatis 라이브러리 추가 -->
<dependency>
   <groupId>org.mybatis</groupId>
   <artifactId>mybatis</artifactId>
   <version>3.4.6</version>
</dependency>

<!-- 마이바티스와 스프링을 연동해주는 라이브러리 -->
<dependency>
   <groupId>org.mybatis</groupId>
   <artifactId>mybatis-spring</artifactId>
   <version>1.3.2</version>
</dependency>

 

저장 -> alt +F5  =>다운완료

 

2. [root-context.xml] 

 

 

<!-- mybatis SQL동작을 위한 핵심객체 sqlSessionFactory 클래스 빈 등록 -->

<bean id="sqlSessionFactory"  class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="ds"></property>

<property name="mapperLocations" value="
<!-- 히카리데이터소스 빈 등록의 id를 setter 주입으로 등록 -->

</bean>

 

3. src/main/resource -> mappers/score(폴더생성) -> ScoreMapper.xml 생성

- bean id : 자율 설정

- class = " "  : 스프링 legnecy 프로젝트 경로이므로 고정

- spring템플릿 or JDBC템플릿 중 1개 선택해서 보통사용  

- property 의 경우 : 히카리 데이터 소스 빈 등록할때 사용했던 id를 갖고 온다.

 

- mapperLocations : sessionFactory에게 위치를 알려줘야한다.

- classpath : main/resource경로에 있는 파일들은 classpath : 로 경로 지정해준다

 

4. [root-context.xml]

Namespaces 에서 mybatis-spirng 추가 -> 저장 

Source 에서   xmls:mybatis-spring="http://mybatis.org/schema/mybatis-spring"  => 추가 된 부분을 알 수 있다.

 


MyBatis 연동끝.. ! 

댓글