본문 바로가기

Java/문법 및 이해

[JAVA] intelliJ에서 JDBC와 MySQL 연동

1. Mysql Connection jdbc 설치

https://dev.mysql.com/downloads/mysql/

 

MySQL :: Download MySQL Community Server

Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS Source Code Select OS Version: All Windows (x86

dev.mysql.com

 

위의 사이트로 들어가서 본인 pc 버전에 맞는 jdbc를 다운받아주면 된다.

본인은 mac m1이기에 맞는 운영체제에 맞는 버전을 선택!

 

당연히 pc에 mysql 설치가 되어있어야 한다.

그 부분은 다른 분들의 글이 많으므로 생략.

 

 

2. IntelliJ 에서 jdbc 라이브러리 추가

File -> Project Structure -> Libraries -> + 버튼으로 방금 다운 받은 bin.jar 파일을 선택한다.

라이브러리를 추가하면, 아래와 같이 외부 라이브러리 폴더에 커넥션이 추가된다.

 

 

3. JDBC MySQL 연동 확인

(1) 전체 코드

package jdbc;

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

public class Test {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/test";
        String user = "root";
        String password = "1234";

        // JDBC 드라이버 로드
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch(ClassNotFoundException e) {
            System.out.println("JDBC 드라이버 로드하는데 문제 발생 : " + e.getMessage());
            e.printStackTrace();
        }

        // 접속
        Connection con = null;

        try {
            con = DriverManager.getConnection(url, user, password);
            System.out.println("연결 완료");
        } catch (SQLException e) {
            System.out.println("연결 오류 : " + e.getMessage());
            e.printStackTrace();
        }

        // 접속 종료
        try {
            if (con != null) con.close();
        } catch (SQLException e) {}
    }
}

 

위 코드를 세부적으로 보면,

 

(2) mysql 정보를 객체로 생성

String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "1234";

위 코드가 굳이 없어도 되지만, 가독성을 깔끔한 코드를 위해 객체로 만들어 두었다.

 

(3) JDBC 드라이버 로드

// JDBC 드라이버 로드
try {
    Class.forName("com.mysql.cj.jdbc.Driver");
} catch(ClassNotFoundException e) {
    System.out.println("JDBC 드라이버 로드하는데 문제 발생 : " + e.getMessage());
    e.printStackTrace();
}

기본적으로 예외처리가 가능하게끔 try - catch 구문을 사용해야하며,Class의 forName을 통해 위 경로를 입력한다.

 

(4) 데이터베이스에 접속

// 접속
Connection con = null;

try {
    con = DriverManager.getConnection(url, user, password);
    System.out.println("연결 완료");
} catch (SQLException e) {
    System.out.println("연결 오류 : " + e.getMessage());
    e.printStackTrace();
}

Connection의 객체를 생성하고, DriverManager의 getConnection을 통해 앞서 선언한 디비 정보를 입력한다.

 

(5) 접속 종료

// 접속 종료
try {
    if (con != null) con.close();
} catch (SQLException e) {}

JDBC를 이용해서 디비에 접속을 했으면, 접속을 끊겠다는 코드도 반드시 선언되어야 한다.

 

 

'Java > 문법 및 이해' 카테고리의 다른 글

[JAVA] JDBC API : java.sql package  (2) 2023.02.12
[JAVA] JDBC 란?  (0) 2023.02.11
[Java] SAX Parser  (0) 2023.01.31
[JAVA] 람다와 함수형 인터페이스  (0) 2023.01.27
[JAVA] Singleton 싱글톤 디자인 패턴  (0) 2023.01.22