Spring 프로젝트 mysql접속 junit 테스트 하기

개발환경

windows10 pro, STS, jdk1.8, mysql8(docker), mysql workbench 8


Related Posts

1.STS로 Spring 프레임워크 개발환경셋팅 2.Spring MVC 프로젝트를 생성하여 톰캣에서 실행하기 3.spring mvc 프로젝트 한글설정(utf8)

4.Windows10pro docker 설치하기 5.Docker에서 mysql설치하고 접속해보기

6.Spring 프로젝트 mysql접속 junit 테스트 하기 7.SpringFramework MyBatis MySQL 연동하기


MySql 스키마 생성 및 db 계정 생성

MySql Workbench에서 SCHEMAS영역에 마우스 우클릭 -> Create Schema... 클릭

생성할 스키마 명을 입력한뒤 Apply 버튼 클릭

스키마 생성 스크립트 수정창이 아래처럼 뜨면 아래처럼 CHARACTER SET을 utf8로 설정하자

1
SCHEMA '스키마명' DEFAULT CHARACTER SET utf8;

스키마 생성 스크립트 수정후 Apply 버튼 클릭

생성된 스키마를 확인 하고, 방금 생성한 스키마를 사용할 db 계정을 만들어 보자

MANAGEMENT에서 Users and Privilege를 클릭하자

Add Accout 클릭 -> 생성할 db 계정명과 비밀번호 입력후 Apply 클릭

생성한 계정을 클릭 -> Schema Privileges 클릭 -> Selected schema 선택 후 사용할 스키마를 셀랙트박스에서 클릭 -> OK 버튼 클릭


Spring 프로젝트에 MySql JDBC 커넥터 설정

spring 프로젝트의 pom.xml에 mysql-connector-java를 추가한다. 접속할 mysql db가 8버전(현재 최신)이라 mysql-connector-java도 현재 최신버전인 8버전으로 설정하였다.

junit도 혹시나해서 버전을 최신버전으로 설정

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!-- mysql jdbc 커넥터 -->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>

<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>

Spring 프로젝트에서 junit을 이용하여 Mysql DB 접속 테스트

스프링 프로젝트의 src/test/java에 mysql 접속 테스트용 자바파일 생성후 코드 작성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package org.hanumoka.web;

import java.sql.Connection;
import java.sql.DriverManager;

import org.junit.Test;

public class MySQLConnectionTest {

private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://127.0.0.1:3306/hanumoka_spring_template?useSSL=false";
private static final String USER = "hanumoka";
private static final String PW = "password";

@Test
public void testConnection() throws Exception{

Class.forName(DRIVER);

try(Connection con = DriverManager.getConnection(URL, USER, PW)){
System.out.println(con);
}catch(Exception e) {
e.printStackTrace();
}//try_
}//testConnection_
}//MySQLConnectionTest_

해당 junit 을 실행 후 결과 확인

마무리

솔직히 난 junit을 잘 쓸줄 모른다. 이번에 spring을 다시 공부하면서, 그동안 내가 얼마나 멍청하게 코딩을 해왔는지를 알게 되었다.