Spring - MySql+MyBatis

김정훈·2021년 2월 24일
0

Spring

목록 보기
2/4
post-thumbnail

📌 JDBC는 핸들이고, MyBatis는 핸들을 더욱 편하게 해주는 역할이다.

  1. Spring프로젝트에 pom.xml을 열어서
    : mysql, spring-jdbc, mybatis, spring-test 의존성을 안에 주입해주자.
<!-- MySQL -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.22</version>
        </dependency>
 
        <!-- MyBatis 3.4.1 -->
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.1</version>
        </dependency>
 
 
        <!-- MyBatis-Spring -->
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>
 
        <!-- Spring-jdbc -->
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
 
        <!-- Spring-test -->
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>    

다음과 같이 pom.xml파일에 mysql, spring-jdbc, mybatis, spring-test 의존성을 추가해준다.

  1. 이렇게 의존성을 추가해주고, root-context.xml파일을 열고 Namespaces탭을 클릭한다.

  2. 이렇게 체크를 해주면 root-context.xml파일에서 jdbc, mybatis-spring을 쓸 수 있다.
  3. root-context.xml의 source부분에서는 Datasource와 SqlSessionFactoryBean을 설정한다.
    Datasource는 mysql과의 연결을 담당한다.
  4. Datasource는 JDBC커넥션을 처리하는 기능을 가지고 있고,
    DB와 연동하는 작업에 반드시 필요하다.
  5. SqlSessionFactoryBean은 DB와의 연결과 SQL의 실행에 대한 모든 것을 가지고 있는 객체이다.
    ==> 나중에 DB를 연결해 데이터를 저장,수정,삭제,조회 할 경우 추가 설정이 필요할 것이다.
  6. DataSource에는 여러 개의 property가 있다.
    여기서는 연결할DB의 주소, 계정, 비밀번호 이렇게 3가지의 property만 설정하면 된다.
    연결 주소에는 로컬일 경우 localhost을 입력하면 되고, 뒤에는 mysql설치시 지정한 포트번호를 입력한다. 보통 포트번호는 3306으로 한다.

이제 Test코드를 작성해보자

먼저 MysqlTest.java를 작성해보자.

@Runwith(SpringJunit4ClassRunner.class)
@ContextConfiguration(loactions={"file:src/main/webapp/WEB-INF/spring/root-context})
public class MySqlTest{
  
  @Inject
  private DataSource ds;
  
  @Test
  public void testConnection() throws Exception{
  	try(Connection con = ds.getConnection()){
  				System.out.println("테스트 성공 >>>>>>> Connection출력:" +con+"/n");
  	}catch(Exception e){
  		e.printStackTrace();
  }
 }
}

MyBatis 테스트 코드도 살펴보자.

@Runwith(SpringJunit4ClassRunner.class)
@ContextConfiguration={"file:src/main/webapp/WEB-INF/spring/**/root-context.xml})
public class MyBatisTest{
  @Inject
  private SqlSessionFactory sqlFactory;
  
  @Test
  public void testSession() throws Exception{
  	try(SqlSession session = sqlFactory.openSession(){
  		System.out.println("테스트성공 : session 출력 : "+session+"/n");
  	}catch(Exception e){
  		e.printStactTrace();

이렇게 작성하고, Junit테스트를 해보자.
Test코드의 @어노테이션에 대해서는 1번째 Spring정리에서 했으니 생략하도록 하겠다.

참고 : 코드로 배우는 스프링 웹 프로젝트

profile
WebDeveloper

0개의 댓글