본문 바로가기
Spring

[Spring+Oracle cloud] Spring에서 오라클 클라우드 데이터베이스 + MyBatis 사용하기

by LasBe 2022. 5. 3.
반응형

⚡️이전 글


📌 오라클 클라우드 연동

📌 오류 해결

 

오라클 클라우드 환경 구축은 위 글을 참고해주세요. 윈도우나 맥 상관없이 적용 가능한 방법입니다.

 

본 글에서는 오라클 클라우드 환경 구축 내용을 생략합니다.

 

 

 

⚡️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에 대한 차이는 이 글을 참고해주세요.

반응형

댓글


오픈 채팅