[Spring] Spring-Mybatis

박세윤·2023년 4월 19일
0

Spring

목록 보기
7/11
post-thumbnail

📖 Spring-Mybatis

📌 Spring-Mybatis


✅ MyBatis-Spring

  • MyBatis-Spring 연동 모듈은 MyBatis와 Spring을 간편하게 연동하도록 도와준다.

  • 해당 모듈은 MyBatis로 하여금 스프링 트랜잭션에 쉽게 연동되도록 처리



✅ MyBatis와 Spring 연동 - 1

  • MyBatis와 스프링 프레임워크를 연동하기 위해서는 mybatis-spring 연동 라이브러리가 필요

  • jar 파일을 추가하거나 pom.xml을 통해 추가

<!-- Mybatis -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->

<dependency>
  <groupId>or.mybatis</groupId>
  <artifactId>mybatis-spring</artifactId>
  <version>2.0.3</version>
</dependency>



✅ MyBatis와 Spring 연동 - 2

  • MyBatis 실행에 필요한 객체를 Spring Bean으로 등록하여 사용
    • dataSource, sqlSessionFactory
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  	<property name="driverClassName" value="${db.driver}"/>
  	<property name="url" value="${db.url}" />
  	<property name="username" value="${db.username}" />
  	<property name="password" value="${db.password}" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  	<property name="dataSource" ref="dataSource" />
  <property name="mapperLocations" value="classpath:dao/mapper/**/*/.xml" />
  <property name="typeAliasesPackage" value="model" />
</bean>



✅ MyBatis와 Spring 연동 - 3

  • DAO 작성
    • Mapper 인터페이스를 스프링 빈으로 직접 등록
<bean id="boardDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
  <property name="mapperInterface" value="dao.BoardDao"/>
  <property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
  • Mapper scanner를 사용하여 등록
    • basaePackage에 설정된 패키지의 하위의 모든 매퍼 인터페이스가 자동으로 bean으로 등록됨
<bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  <property name="basePackage" value="dao" />
</bean>



profile
개발 공부!

0개의 댓글