반응형
⚡️이전 글
📌 오라클 클라우드 연동
📌 오류 해결
- 8080 포트 오류 해결방법
- the selection cannot be run on any server 오류
- Error: Could not find or load main class, java.lang.ClassNotFoundException
오라클 클라우드 환경 구축은 위 글을 참고해주세요. 윈도우나 맥 상관없이 적용 가능한 방법입니다.
본 글에서는 오라클 클라우드 환경 구축 내용을 생략합니다.
⚡️Spring + Oracle Cloud Database
이번 글에서는 Spring JDBC의 SqlSessionFactoryBean + SqlSessionTemplate를 이용해
오라클 클라우드와 MyBatis를 연동해 사용하는 방법을 소개합니다.
📌 pom.xml에 라이브러리 추가
스프링 + 오라클 클라우드 데이터베이스 + MyBatis 조합을 사용하기 위해
다음과 같은 라이브러리를 pom.xml에 추가해줍니다.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.19</version>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.5.0.0</version>
</dependency>
<dependency>
<groupId>com.oracle.database.security</groupId>
<artifactId>oraclepki</artifactId>
<version>21.5.0.0</version>
</dependency>
<dependency>
<groupId>com.oracle.database.security</groupId>
<artifactId>osdt_cert</artifactId>
<version>21.5.0.0</version>
</dependency>
<dependency>
<groupId>com.oracle.database.security</groupId>
<artifactId>osdt_core</artifactId>
<version>21.5.0.0</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.7</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
📌 Config 파일에 SqlSessionTemplate + 전자지갑을 이용한 빈 등록
dataSource에 전자지갑 주소와 데이터베이스 계정 정보를 입력해주고,
dataSource -> sqlSessionFactoryBean -> sqlSessionTemplate 순으로 의존성을 주입합니다.
오라클 클라우드 구축과 전자지갑 관련 자세한 내용은 이 글을 참고해주세요.
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@DB이름_medium?TNS_ADMIN=전자지갑주소"/>
<property name="username" value="ADMIN"/>
<property name="password" value="비밀번호"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory"/>
</bean>
📌 @Autowired로 sqlSession에 의존성 주입 후 사용하기
@Repository
public class MemberDao{
private final SqlSession sqlSession;
@Autowired
public MemberDao(SqlSession sqlSession) {
this.sqlSession=sqlSession;
System.out.println("MemberDao SqlSession On -> "+this.sqlSession);
}
}
org.apache.ibatis.session.SqlSession이 아닌
Spring JDBC의 SqlSessionTemplate이 잘 연결되었음을 알 수 있습니다.
SqlSession과 SqlSessionTemplate에 대한 차이는 이 글을 참고해주세요.
반응형
'Spring' 카테고리의 다른 글
[Spring MVC 프로젝트 리팩토링] 4. @Service, 비즈니스 로직 분리 (0) | 2022.05.19 |
---|---|
[Spring/스프링] JUnit을 이용한 단위 테스트, @Test (2) | 2022.05.03 |
[Spring MVC 프로젝트 리팩토링] 3. 의존성 주입 수정 (0) | 2022.05.02 |
[Spring MVC 프로젝트 리팩토링] 2. SqlSessionFactory -> SqlSessionTemplate (0) | 2022.04.28 |
[Spring MVC 프로젝트 리팩토링] 1. 국비지원교육의 한계 (0) | 2022.04.28 |
댓글