반응형
MyBatis 프레임 워크 라이브러리를 이용해
JDBC를 이용해 DAO 객체를 생성할 때의 중복 코드들을 걷어내고
가독성을 위한 Java와 SQL문을 분리
mvnrepository.com 에서 아래 라이브러리를 찾아 pom.xml에 추가
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artif actId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
MyBatis 의 데이터베이스 액세스 흐름
1. 실행 중 CRUD 요청이 들어올 때마다 SqlSessionFactory 로 SqlSession 객체를 생성
2. SqlSession 객체를 이용해 Connection을 생성하거나 DB요청을 하고 결과값을 받아옴
root-context.xml에 SqlSessionFactory를 등록하는 작업
<!-- HikariCP configuration -->
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<constructor-arg ref="hikariConfig"></constructor-arg>
</bean>
<!-- MyBatis -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
</bean>
SqlSessionFactory Bean을 이용
MyBatis의 스프링과 연동작업을 처리하는 mybatis-spring의 라이브러리 클래스임을 알 수 있으며, DB연결을 위해 dataSource를 주입
테스트 코드
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")
@Log4j
public class OracleConnectionPoolTest {
@Autowired
private SqlSessionFactory sqlSessionFactory;
@Test
public void testMyBatis() {
try(SqlSession session = sqlSessionFactory.openSession();
Connection con = session.getConnection();
){
log.info(session);
log.info(con);
}catch(Exception e) {
fail(e.getMessage());
}
}
}
SqlSessionFactory를 이용해 생성하고 테스트코드가 정상적으로 실행되는지 확인
정상적으로 실행될 경우 위와 같이 ibatis 관련 구문이 출력되는 것을 확인 가능
2021.09.14 - [Spring] - [Spring] Mapper 인터페이스와 Mapper.xml
[Spring] Mapper 인터페이스와 Mapper.xml
Mapper란 SQL문과 그에 대한 처리를 어떻게할지 정하는 것 MyBatis-spring을 이용해 인터페이스로 메서드를 선언하고 XML파일로 구현 예제 - 생성된 테이블에 SELECT 구문을 이용해 데이터 조회 BoardVO.java
wheneveryouwantsz.tistory.com
'Spring' 카테고리의 다른 글
[Spring] 게시판 페이징(Paging) 처리 (0) | 2021.09.24 |
---|---|
[Spring] Model 과 RedirectAttiributes 타입으로 데이터 전달 (0) | 2021.09.21 |
[Spring] MyBatis에서 selectkey 사용 (0) | 2021.09.18 |
[Spring] Mapper 인터페이스와 Mapper.xml (0) | 2021.09.14 |
[Spring] 커넥션 풀(Connection Pool) 설정 (0) | 2021.09.12 |