티스토리 뷰
안녕하세요. MIN-IT입니다.
이번시간은 스프링 프로젝트와 DB(Mysql)을 연결하는 시간을 가지겠습니다.
퍼가실 때 댓글을 남겨주시면 감사하겠습니다.
안녕하세요. 오늘은 저번에 만든 스프링 프로젝트와 데이터베이스를 연결해보는
시간을 갖겠습니다.
실습을 하기전에 저희는 목표는 프로젝트와 DB를 연결하는 것입니다. 즉, DB와 프로젝트를 연결시켜주는 무언가가 필요합니다. JAVA를 공부하셨더라면 라이브러리라는 것이 생각 날 것입니다. 저희는 라이브러리를 추가를 해야합니다. Spring에서 라이브러리를 추가하고 싶은 경우에는 바로 pom.xml를 사용하는 것입니다.
*pom.xml 설정 파일의 대표적인 역할
1.프로젝트 관계 설정 ==> 모듈/상속/의존 라이브러리 관리등..
2.빌드 설정 ==> 소스 디렉토리 / 리소스 디렉토리 / 플러그인 등..
3.프로젝트 기본 정보 ==> 프로젝트 이름 / 프로젝트 URL / 라이센스 등..
4.빌드 환경 ==> 빌드할 환경 정보 / 프로파일
<pom.xml의 일부>
<project>
-pom.xml의 최상위 속성(엘리먼트)
<modelVersion>
-pom.xml의 버전입니다
<groupId>
-프로젝트의 고유아이디
(프로젝트 생성시 패키지이름(org.abc.web)이 들어간 것이라 생각하면됩니다.
일반적으로 groupId는 도메인 이름을 사용합니다.)
<artfatId>
-프로젝트를 식별하는 아이디(유일)
(프로젝트 생성시 패키지이름(org.abc.web)이 들어 간 것이라 생각하면 됩니다.)
version : 프로젝트의 현재 버전
<name>
-프로젝트명
<dependencies>
-<dependency>를 이용하여 프로젝트와의 라이브러리의 의존 관계를 설정합니다.
의존관계를 설정한 후 저장하면 자동으로 라이브러리를 다운받아집니다.
프로젝트- 하위폴더 Maven Dependecies OR 사용자폴더명-.m2폴더에서 확인이 가능합니다.
따라서 저희가 DB를 연결시켜 줄 수 있는 라이브러리를 일일이 다운 받을 필요없이 pom.xml의 dependencies 와 dependency 를 활용하여 명시를 해주면 연결이 됩니다.
*스프링 프로젝트와 mysql (DB) 연결 실습해보기
1. http://mvnrepository.com/artifact/mysql/mysql-connector-java에 접속을 합니다.
버전들 별로 라이브러리를 다운 받을 수 있습니다. 저는 비교적 Usages가 많은 5.1.39 버전을 다운로드 하겠습니다.
http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.39
2.<dependency>부분을 복사하여 pom.xml의 <dependencies>안에 붙여넣어줍니다.
여기서 주의 하실점은
<dependencies>안에다 복사한 <dependeny>를 넣어야합니다. </dependencies>
넣고나서 저장을 하면 자동으로 다운로드를 시작하게 되고
프로젝트-하위폴더 maven Dependency안에 mysql이 생성됩니다.
mysql이 정상적으로 연결이 이루어지는 테스트를 해보겠습니다.
테스트의 앞서 자바 버전을 확인 합니다.
pom.xml - <properties> - java-vesion
(찾기 어려우시다면 컨트롤+F를 통하여 properties를 검색해서 찾으세요^^)
만약 java-version이 1.7보다 낮다면 1.7이상으로 변경한 후 저장하세요.
*왜 java-version을 1.7이상 높이는 이유는 뭘까요??
-문득 1.7이상으로 버전으로 변경하는 것이 궁금하신 분들이 계실겁니다.
자바를 이용할때 IO/네트워크 연결 /DB연결 등을 구현할때 반드시 try-catch-finally을 이용하여 명시적으로 연결을 종료해야했습니다.
하지만 JDK 1.7버전 이후부터는 try-width를 사용하여 finally부분 없이 자동으로 close()를 호출되게 할 수 있어 1.7버전이상 사용하시게되면 코드의 양이 줄어듭니다.
(주의 하실점은 try (AutoClosable 인터페이스를 구현한 객체) 여야하는 것을 염두해두고 작업을 하시면 됩니다.
JDBC연결 테스트를 하기전에
workbench를 이용하며 스키마를 생성하겠습니다.
-sys오른쪽마우스 - Create Schema - Name입력 - collation(utf-8로 지정) - apply
워크벤치 접속이 기억이 안나신다면 http://min-it.tistory.com/1 를 참고해주세용
1. 스키마 생성
2.test case파일 생성
-프로젝트 -하위폴더 src/test/java - org.hello.web(만드신패키지명) - 오른쪽 마우스-
new - Junit Test Case
3.name 지정 - finish
import java.sql.Connection;
import java.sql.DriverManager;
import org.junit.Test;
public class mysqlTest {
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://127.0.0.1:3306/test1"; // jdbc:mysql://127.0.0.1:3306/여러분이 만드신 스키마이름
private static final String USER = "root"; //DB 사용자명
private static final String PW = "1234"; //DB 사용자 비밀번호
@Test
public void testConnection() throws Exception{
Class.forName(DRIVER);
try(Connection con = DriverManager.getConnection(URL, USER, PW)){
System.out.println("성공");
System.out.println(con);
}catch (Exception e) {
System.out.println("에러발생");
e.printStackTrace();
}
}
}
이 부분을 만드신 파일안에 복사 -붙여넣기
-여러분이 수정해야 할 곳은
1.package 경로가 자신에 맞게
(패키지 경로 잘모르시면 class파일 및 Junit test case 파일 생성하고 거기있는 package 복사해서 붙여넣으세용)
2.jdbc:mysql://127.0.0.1:3306/test1 (test1부분은 자신의 스키마명으로)
(127.0.0.1:3306 ==로컬 호스트 고유번호로 수정안하셔도되요)
(만약 예전에 mysql 설치시 next버튼을 마구 누르셨다면 상관 없습니다만
(포트 번호를 3306이 아닌 다른번호로 바꾸셨다면 바꾸신 포트번호를 적으세요)
3.USER / PW : mysql의 ID와 비밀번호를 입력하세요
4. 테스트 실행해보기
테스트파일 오른쪽마우스 - Run As - JUnit Test
성공시 초록색 바와 함께 콘솔 창에 DB연결된 정보가 나온다면
정상적으로 mysql 연결 되신겁니다.
*DB연결할때 mysql 관련 <dependency>를 복사하여 pom.xml에 저장해서 라이브러리를 다운로드 했는데 테스트를 할때 Junit을 사용했는데 Junit관련 라이브러리를 다운로드 하지않아도 테스트가 가능했을까???
-Spring 프로젝트를 생성시 JUnit 설정이 완료된상태로 프로젝트가 생성되기 때문입니다. (프레임워크이기 때문에 테스트에 관련된 뼈대나 근간이 이미 만들어져있습니다.)
실제로 pom.xml에서 Junit관련된 <dependency>가 있는 것을 확인 할 수 있습니다.
(dependency에 Junit이 있으니 프로젝트 생성하자마자
Junit관련 라이브러리를 다운 받았겟죠!?)
(pom.xml에서 컨트롤+f를 통해 Junit을 검색해보세요)
* 포스팅을 마치겠습니다.
궁금하거나 잘못된 부분이있다면 알려주시면 감사하겠습니다.*
'Spring' 카테고리의 다른 글
[06] Spring MVC - 모델2 스프링 MVC 개념과 DispatcherServlet (16) | 2017.01.12 |
---|---|
[05] Spring + Mybatis + mysql 설정 (13) | 2017.01.11 |
[03] 스프링 프로젝트 생성 - hello wolrd 출력하기 (4) | 2017.01.02 |
[02] Spring framework 개발환경 설정 - Spring framework downloads (스프링 프레임워크 다운로드) (0) | 2017.01.02 |
[01] Spring Framework 란?? (스프링 프레임워크) (1) | 2017.01.02 |
- Total
- Today
- Yesterday
- 스프링
- Docker
- docker port
- docker port forwarding
- docker port fa
- spring MVC
- myBatis
- Doker 이미지
- 도커 이미지
- hello node
- 스프링 MVC
- node.js
- 스프링 프레임워크
- 도커란
- 도커 컨테이너
- web crawling
- 도커 port forwarding
- package.json
- Doker 컨테이너
- 도커 포트포워딩
- 도커 네트워크설정
- npm install
- spring framework
- spring
- 도커엔진
- 도커설치
- Docker란
- 도커 명령어
- Docker 명령어
- Docker설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 27 |
28 | 29 | 30 |