본문 바로가기
카테고리 없음

[Project][Spring] db연결 및 테스트

by 321 2021. 3. 28.
  • WEB-INF밑에 lib폴더 만들고 ojdbc.jar 파일 복붙
  • ojdbc.jar-오른쪽마우스 build path - configure build path 하면 referenced libraries에 추가된다.

 
 
 

  • root-context.xml 들어가서 namespace - bean, context, jdbc, mybatis-spring 체크 후 아래 소스코드 입력
<!-- 오라클 접속 -->
<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSource">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
    <property name="username" value="아이디입력하기"/>
    <property name="password" value="패스워드입력하기"/>
</bean>

<!-- Mybatis 연동 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"></property>
    <property name="configLocation" value="classpath:/mybatis-config.xml"></property>
    <property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml"/>
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
	<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
</bean>

 
 

  • src.main.resources 밑에 mappers폴더 만들고 boardMapper.xml 파일 만든 뒤 아래 코드 추가
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="boardMapper">
   
</mapper>

 

  • src.main.resources (위와 같은 경로)에 mybatis-config.xml파일 만들고 아래와 같은 코드 추가
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  
</configuration>

 
 

  • src/test/java - controller패키지 밑에 Test.java클래스 파일 만들고 아래코드 추가
import java.sql.Connection;

import javax.inject.Inject;
import javax.sql.DataSource;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations ={"file:src/main/webapp/WEB-INF/spring/**/root-context.xml"})
public class Test {

    @Inject
    private DataSource ds;
       
    @Inject
    private SqlSessionFactory sqlFactory;
 
    @org.junit.Test
    public void test() throws Exception{

        try(Connection conn = ds.getConnection()){
            System.out.println(conn);
        } catch(Exception e){
            e.printStackTrace();
        }
    }
   
  
    @org.junit.Test
    public void factoryTest() {
        System.out.println(sqlFactory);
      
    }
  
    @org.junit.Test
    public void sessionTest() throws Exception{
      
        try(SqlSession session = sqlFactory.openSession()) {
            System.out.println(session);
        }catch(Exception e) {
            e.printStackTrace();
        }
    }
}

 
Test.java에서 오른쪽- junit test실행하고 초록색 뜨는지 확인

  • 1.java버전확인(library, project facet, pom.xml)
  • 2. junit버전확인 4.7
  • 3. project명에서 오른쪽클릭-maven-update project 

 
아래와 같은 폴더 모양
 

 
 
 
 
Ref.
블로그