티스토리 뷰

Spring

03. [Spring] MySQL 설치 및 설정

마시멜로co. 2017. 9. 29. 16:52

03. MySQL 설치 및 설정

이전 글 : http://marshmello.tistory.com/2


저번글에서는 Spring 프로젝트 생성과 Tomcat 연동을 하였습니다.


이번 글에서는 JDBC와 비슷하게 Spring과 데이터베이스가 어떻게 연동하는지 이해하고 실습하도록 하겠습니다.

최근 MySQL은 유료화된 부분이 많지만 연습용으로 사용하는데에는 문제가 없습니다. 만약 무료로 사용해야 하는 상황이 생긴다면 MySQL에서 파생된 MariaDB를 사용할 것을 권합니다.



3.1 MySQL 다운로드

https://www.mysql.com/downloads/ 를 방문하여 상단메뉴 중 Community를 클릭합니다.




MySQL Community Server 메뉴를 눌러 다운로드 페이지로 이동합니다.



Go to Download Page 버튼을 클릭하여 다운로드 페이지로 이동합니다.




mysql-installer-community-x.x.x.msi 파일을 다운로드합니다.



No thanks, just start my download 를 클릭합니다.




여기서 잠깐!



컴퓨터이름이 혹시 한글로 되어있으면 설치 오류납니다! 

앞으로도 원활한 개발을 위해서 이부분을 반드시 영문으로 수정해야합니다!


한글로 되어있으신분들은 제어판 -> 시스템 -> 우측 설정변경버튼을 클릭하여 컴퓨터이름을 영문으로 변경 -> 컴퓨터 재부팅 후 설치해주십시오


이미 영문이신 분들은 바로 설치해주시면 됩니다



다운로드 받은 파일(.msi파일)을 실행합니다. 동의 후 Next




Developer Default 선택 후 Next



필요한 파일은 자동으로 다운로드 되어짐으로 Next 클릭



Execute 버튼 클릭



모두 설치가 완료되면 Next 버튼 클릭



Next버튼 클릭



Standalone MySQL Server / Classic MySQL Replication 선택 후 Next



Config Type을 기본값으로 선택 후 Next



Root 비밀번호를 입력 후 Next

( * 입력한 Root비밀번호는 절대 까먹으면 안됩니다. 어디 메모해두시길 권합니다.)



Next 클릭



Next 클릭



Execute 클릭



Finish 클릭



Next 클릭



Finish 버튼 클릭



Next 버튼 클릭



전 단계에서 설정 한 Root 비밀번호 Check 후 Next



Execute 버튼 클릭



Finish 버튼 클릭



Next 버튼 클릭



Finish 버튼 클릭 ( 진짜 마지막 Finish 버튼입니다 ! )



모든 MySQL 다운로드가 완료되면 Workbench 창이 실행됩니다. 


3.2 MySQL Workbench 활용

Workbench는 데이터베이스와 연결을 설정하여 SQL을 편집 MySQL 서버를 관리하는 개발 도구입니다.


Local instance MySQL Router root 계정을 더블클릭합니다.



Root 비밀번호 입력 후 OK 버튼을 클릭합니다.



새로운 스키마를 추가하고자 할 경우,

 SCHEMAS 빈 영역에 마우스 우측 클릭 -> Create Schema... 메뉴 클릭



새로 만들 스키마 명을 입력하고 문자셋을 UTF8로 지정하고 Apply 버튼을 클릭합니다.



이후 실행될 SQL 문이 보여지고 Apply 버튼을 눌러 실행해 줍니다.


Finish 버튼 클릭



Navigator에서 새로 등록한 스키마를 확인할 수 있습니다.



3.3 DB 연결 테스트와 jUnit

MySQL 설치가 완료되면 Java를 이용하여 JDBC가 정상 연결되는지 테스트해야 합니다.

테스트는 JUnit4(이하 JUnit)를 이용합니다. Spring의 템플릿 프로젝트를 생성한 순간 테스트와 관련된 jUnit 설정이 완료된 상태이므로 개발자는 테스트 관련 코드를 작성하고 바로 실행할 수 있습니다. 


JUnit 관련 용어는 다음과같은 기본적인 사항만 알면됩니다.

  • @Test  : 테스트해야 하는 내용을 메스드 안에 작성하고 메소트 위에 @Test 애노테이션을 추가하면 JUnit은 해당 메소드를 테스트용 코드로 간주하고 테스트를 진행 할 수 있습니다.
  • @Before : 모든 테스트 작업에 앞서 준비되어야 하는 내용을 작성해서 메소드에 추가하는 애노테이션입니다. @Test 메소드의 실행 전에 실행되기 때문에 테스트를 위한 준비 작업을 할때 사용합니다.
  • @After : 테스트 작업이 끝난 후 자동으로 실행되는 메소드에 추가하는 애노테이션입니다.
  • @org.junit.Assert.assertxxx :  테스트 중에 발생되는 값을 확신(assert - 확신하다)하는 용도로 사용합니다. 테스트 중간에 특정 값이나 상태를 예상하고 체크하는 용도로 사용합니다.

MySQL 라이브러리는 직접다운로드 받아도되지만 (Connector.J) 스프링의 경우 pom.xml에 내용을 추가하여 다운로드합니다.


작성된 스프링 프로젝트의 pom.xml 파일을 열어 아래의 내용을 추가합니다.


Maven URL : https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.6



<dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <version>5.1.6</version>

</dependency>

 






 try-with 구문의 활용
JDK 1.7이상의 JDBC 는 과거 UI 작업이나 네트워크의 연결 등에 반드시 try~catch~finally 구조를 이용해서 개발자가 명시적으로 연결을 종료해야만 하는 불편함이 있었습니다.
JDK 1.7부터 지원되는 try - with 구문을 활용하면 finally 없이 자동으로 close()가 호출되게 작성할 수 있습니다.

과거에 비해 코드 양이 줄고 안전한 코드를 작성할 수 있습니다. 이때의 제약 조건은 try안의 ()에 선언되는 객체가 AutoClosable이라는 인터페이스를 구현한 객체라야 합니다. 


try(AutoClosable 인터페이스를 구현한 타입의 변수){

...작업...

}catch(Exception){

예외처리

}


try-with 구문을 사용하기 위해 스프링 프로젝트를 JDK1.7버전으로 변경해야합니다. 이를 위해서 pom.xml 파일에서 java의 버전 속성을 다음과같이 변경해줍니다. (이미 1.7 버전 이상이라면 수정 할 필요없습니다.



<java-version>1.8</java-version> 





프로젝트 전체 테스트를 담당하는 jUnit은 템플릿 프로젝트로 생성할 경우 Junit4.7 정도로 설정됩니다.
이후 사용되는 스프링의 테스트에서는 높은 버전의 jUnit을 사용할 경우가 많기때문에 pom.xml 파일을 다음과같이 수정합니다.

                     <!-- Test -->

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.12</version>

<scope>test</scope>

</dependency> 



자 이제 jUnit을 이용한 JDBC 연결코드를 작성해봅시다.

프로젝트에서 src/test/java 밑에 MySQLConnectionTest 클래스를 생성합니다.


코드 파일 첨부 


MySQLConnectionTest.txt






MySQLConnectionTest.java 선택 후 마우스 우측클릭 -> Run As -> JUnit Test 클릭하여 테스트를 실행시킵니다.



Console 창에 다음과같이 Connection 객체가 만들어지는 것을 확인 할 수 있습니다.


다음글에서는 스프링과 MySQL , MyBatis를 연동해보도록 하겠습니다.


수고하셨습니다.!!


(홀가분)

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크