Setting

이클립스(Eclipse) MySQL 연동 - (3)

  • -
반응형

이제 DB에 테이블까지 만들었다.

그럼 자바에서 DB를 연결하여 테이블에 정보를 핸들링해보자.


먼저 <이클립스(Eclipse) MySQL 연동 - (1)>에서 설치한 mysql-connector 파일을 프로젝트에 추가해줘야 한다.


1) 프로젝트 오른쪽 버튼 클릭 Build Path-Configue Build Path 클릭



2) Java Build Path 탭에서 LibrariesAdd External JARs 클릭



3) mysql_connector.jar가 있는 경로를 찾아 저장하고 Apply 한다.



4) 아래와 같이 Referenced Libraries 폴더가 생긴다.



5) 추가로 WEB-INF-lib 폴더에도 jar파일을 추가해주자.



6) 이제 설정은 끝났고 DB연결을 테스트할 java 파일을 만든다. 빨간 표시된 부분 체크



7) 아래 코드를 입력한다. 코드는 한줄씩 뜯어보며 알아보자.

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
31
32
33
34
package common;
 
import java.sql.Connection;
import java.sql.DriverManager;
 
public class TestConnection {
 
    public static void main(String[] args) {
        Connection con = null;
        
        String className = "org.gjt.mm.mysql.Driver";
        String url = "jdbc:mysql://localhost:3306/shxdb?useSSL=false&useUnicode=true&characterEncoding=euckr";
        String user = "root";
        String passwd = "1234";
        
        try {
            Class.forName(className);
            con = DriverManager.getConnection(url, user, passwd);
            System.out.println("Connect Success!");
        } catch(Exception e) {
            System.out.println("Connect Failed!");
            e.printStackTrace();
        } finally {
                try {
                    if(con != null && !con.isClosed()) {
                        con.close();
                    }
                } catch(Exception e) {
                    e.printStackTrace();
                }
        }
        
    }
}
cs



8) Run-Run As-Java Application 실행( Alt+Shift+X -> J )
연결 성공!




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

☞ Connection 인터페이스와 DriverManager 클래스를 사용하기 위해 import 해주자.



Connection con = null;

☞ Connection이란 DB와 연결을 설정하는 인터페이스이다. Connection컨텍스트 내에서 SQL문이 실행되고 결과가 리턴된다.



String className = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/shxdb?useSSL=false&useUnicode=true&characterEncoding=euckr";
String user = "root";
String passwd = "1234";

☞ String으로 선언된 변수이 의미하는것은 다음과 같다.

-className : mysql 연결 드라이버를 의미한다. Referenced Libararies에 추가된 mysql-connector.jar 파일을 열어보면 아래 com.mysql.jdbc 패키지가 있다 해당 패키지의 Driver.class이 있는데 "com.mysql.jdbc.Driver"형식으로 MySQL 드라이버 클래스에 연결할 수 있다.

-url : 호스트주소

-user : MySQL 생성 당시 사용한 root 계정

-passwd : 비밀번호




 try {
            Class.forName(className);
            con = DriverManager.getConnection(url, user, passwd);
            System.out.println("Connect Success!");
      } 



Class.forName(className);

☞ Class 클래스의 forName() 메소드를 사용해 드라이버를 로드한다. 드라이버를 읽히면 자동으로 객체가 생성되고 DriverManager에 등록된다.



con = DriverManager.getConnection(url, user, passwd);

getConnection() 메소드를 사용해 DriverManager에 등록된 드라이버를 식별한다. 이 때 특정 jdbc 드라이버의 url, user, passwd를 전달하여 식별한다.

정리하면 "호스트 주소에 root라는 계정으로 passwd가 1234인 shxdb에 연결하려고 한다" 정도가 되겠다.

성공시 Connect Success! 가 콘솔창에 보일 것이다.



catch(Exception e) {
            System.out.println("Connect Failed!");
            e.printStackTrace();
        } 

☞ 예외 발생시 printStackTrace() 메소드는 에러의 근원지를 찾아 단계별로 에러를 출력한다.



finally {
                try {
                    if(con != null && !con.isClosed()) {
                        con.close();
                    }
                } catch(Exception e) {
                    e.printStackTrace();
                }
        }


if(con != null && !con.isClosed()) {
                        con.close();
}

☞ 종료시 서버의 리소스 낭비를 방지하기 위해 항상 Connection 객체를 닫아준다.(자원해제)




이제 SELECT, INSERT, UPDATE, DELETE만 조작하는 것만 남았다.

반응형

'Setting' 카테고리의 다른 글

[Tomcat]이클립스 톰캣 연동  (0) 2018.10.09
[Asp]IIS 서버 구축  (4) 2018.09.20
이클립스(Eclipse) MySQL 연동 - (2)  (0) 2018.09.12
이클립스(Eclipse) MySQL 연동 - (1)  (3) 2018.09.12
MySQL my.ini 설정  (0) 2018.09.11
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.