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>
2.SQLSessionFactory
MyBatis에서 가장 핵심적인 객체는 SQLSession이라는 녀석과 SQLSessionFactory 인터페이스 이다.
SQLSessionFactory는 이름만 보아도 SQLSession을 만들어 내는 공장이라는 것을 알 수 있다.
SQLSession은 개발자가 이를 통해 Connection을 생성하거나 원하는 SQL을 전달하고, 결과를 리턴 받는 구조로 작성하게 된다.
root-context.xml에 다음을 추가한다.
3. lifecycle.
mybatis + Spring 의 lifeCycle. 모호 할 때마다 틈틈이 보자.
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 |