SQL mapping framework MyBatis.

JDBC 작업을 단축시키고, sql 문을 java 문과 섞지 않아도 되는 편리함을 제공한다.. 

 

Spring 연동 순서.

 

1. pom.xml -> mybatis 라이브러리 추가.

(https://mvnrepository.com/) 가서 검색하면 대부분의 프레임워크가 나온다. 

그냥 최신버전을 다운 받는 것 보다 내가 사용하고 있는 util의 버전을 체크해서 맞는 제품을 추가하는 것이 좋다. 

 

(1) mybatis : 

 

	<!-- MyBatis -->
	
	<dependency>
	    <groupId>org.mybatis</groupId>
	    <artifactId>mybatis-spring</artifactId>
	    <version>2.0.6</version>
	</dependency>
	
	<dependency>
	    <groupId>org.mybatis</groupId>
	    <artifactId>mybatis</artifactId>
	    <version>3.5.7</version>
	</dependency>
	
	
	<dependency>
	    <groupId>org.apache.commons</groupId>
	    <artifactId>commons-dbcp2</artifactId>
	    <version>2.9.0</version>
	</dependency>

 

++++

JDBC dependency code도 기본으로 필요.

 

	<!-- SPRING JDBC -->
	<dependency>
	    <groupId>org.springframework</groupId>
	    <artifactId>spring-jdbc</artifactId>
	    <version>5.3.15</version>
	</dependency>

 

 

 

추가 된 jar file 들...

 

 

2.SQLSessionFactory

 

MyBatis에서 가장 핵심적인 객체는 SQLSession이라는 녀석과 SQLSessionFactory 인터페이스 이다.

SQLSessionFactory는 이름만 보아도 SQLSession을 만들어 내는 공장이라는 것을 알 수 있다.

SQLSession은 개발자가 이를 통해 Connection을 생성하거나 원하는 SQL을 전달하고, 결과를 리턴 받는 구조로 작성하게 된다.

root-context.xml에 다음을 추가한다.

 

 

3. lifecycle.

 

mybatis + Spring 의 lifeCycle. 모호 할 때마다 틈틈이 보자.

 

사진 출처 https://codevang.tistory.com/249

 

 

 

Maven 으로 바꾸기

 

 

applicationContext -

 


<context:property-placeholder location="classpath:spring/db.properties" />   
<tx:annotation-driven transaction-manager="transactionManager" />

--->>>>

 

Spring config 

 

@Configuration
@EnableTransactionManagement 
@PropertySource("classpath:spring/db.properties")

 

 

 

 

 

 

 

<context:component-scan base-package="spring.conf"/> xml에 마지막 추가.

 

각 service 및 main, DTO package 들에 있는 java 파일

setter 어노테이션을 날려주고 Autowired 로 변경해준다. 

 

class 명 위에 @Component로 어노테이션 달아준다. context Scan이 component 잡아줄 수 있게. 이때 service 파일은 @ Service 어노테이션 붙여줘도 된다. & DAO 파일은 @Repository로 어노테이션 달아주면 된다. (전부 @Componen)로 달아줘도 상관없음.

 

 

'Backend > Spring' 카테고리의 다른 글

Spring MVC @annotation 관련 정리.  (0) 2022.06.23
STS Error - Tomcat / Oracle  (0) 2022.06.23
Spring Basic Bean  (0) 2022.06.18
Spring XML  (0) 2022.06.15
Spring STS 설치  (0) 2022.06.14

+ Recent posts