[IntelliJ] JDBC 연동, Java MySQL 연결

Java MySQL 연결하기, JDBC 연동방법!

자바에서 데이터베이스를 연결하여 사용하기 위해서는 JDBC가 필요합니다.
JDBC는 Java Database Connectivity의 약자로써 Java에서 데이터베이스를 접속할 수 있게 해주는 Java API입니다.
저는 MySQL 데이터베이스를 Java에서 사용하려고 합니다.
IntelliJ IDEA에서 JDBC를 이용하여 자바에서 데이터베이스를 접속하는 방법에 대해 설명드리도록 하겠습니다.


- 설명하기에 앞서 "macOS Mojave 버전 10.14" 운영체제와 "IntelliJ IDEA 2018.2" 개발 도구에서 연동시켰습니다.


☛ IntelliJ IDEA 자바 통합 개발 도구 설치 방법






1. MySQL Connector(JDBC) 설치

☛ MySQL 다운로드 사이트 새 창 열기

위 링크를 클릭해서 MySQL DOWNLOADS 사이트로 접속 후

"Looking for previous GA versions?"를 클릭해주세요.






"Download"를 클릭해주세요.






사진과 같은 화면으로 이동되면

"No thanks, just start my download."를 클릭해서 파일을 다운로드해주세요.






다운로드한 압축 파일을 풀어주세요.

사용할 파일은 "mysql-connector-java-5.1.47-bin.jar"입니다.

("5.1.47"은 버전 정보이므로 버전에 따라서 다를 수 있으니 참고하세요.)






2. JDBC 설정

IntelliJ IDEA를 실행시켜주세요.






"Create New Project"를 클릭해주세요.






"Java"를 선택 후 "Next"를 클릭해주세요.

☛ IntelliJ IDEA 자바 설정 방법






"Next"를 클릭해주세요.







프로젝트가 생성되면 "src"를 마우스 우클릭 후

"Java Class"를 클릭해주세요.






Class 이름을 정한 후 "OK"를 클릭해주세요.






Class가 생성된 후 우측 상단에 "Project Structure" 아이콘을 클릭해주세요.

또는 "command + ;" 키를 눌러주세요.







"Project Structure" 창이 실행되면

"Libraries -> + -> Java"를 클릭해주세요.






MySQL 사이트에서 다운로드한 "mysql-connector-java-5.1.47-bin.jar" 파일을 선택 후 "Open"을 클릭해주세요.






"OK"를 클릭해주세요.






정상적으로 "mysql-connector-java-5.1.47-bin.jar" 파일이 설정되었으면

"OK"를 클릭해주세요.






JDBC 설정이 완료되었습니다.

이제 정상적으로 Java에서 MySQL 데이터베이스에 접속이 되는지 확인해보겠습니다.






3. Java - MySQL Database 연결

Java에서 데이터베이스에 접속하기 전 MySQL 서버를 실행시켜주세요.

☛ MySQL 실행 방법






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
27
28
29
30
31
public static void main(String[] args) {
    Connection con = null;
 
    String server = "localhost"// MySQL 서버 주소
    String database = ""// MySQL DATABASE 이름
    String user_name = "root"//  MySQL 서버 아이디
    String password = "1234"// MySQL 서버 비밀번호
 
    // 1.드라이버 로딩
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
        System.err.println(" !! <JDBC 오류> Driver load 오류: " + e.getMessage());
        e.printStackTrace();
    }
 
    // 2.연결
    try {
        con = DriverManager.getConnection("jdbc:mysql://" + server + "/" + database + "?useSSL=false", user_name, password);
        System.out.println("정상적으로 연결되었습니다.");
    } catch(SQLException e) {
        System.err.println("con 오류:" + e.getMessage());
        e.printStackTrace();
    }
 
    // 3.해제
    try {
        if(con != null)
            con.close();
    } catch (SQLException e) {}
}
cs







자바 소스코드를 작성 후 "control + option + R" 키를 누른 후

"2. HelloWorld"를 클릭해주세요.






정상적으로 MySQL 데이터베이스에 접속했습니다.


이상으로 IntelliJ에서 JDBC 연동하는 방법에 대한 설명이 끝났습니다.






4. SSLException 발생하는 경우



사진처럼 SSLException이 발생하는 경우에는 "useSSL=false"로 설정을 해줘야 합니다.







데이터베이스에 접속하는 소스코드에서 database 이름 뒤에다가

"?useSSL=false"를 추가하면 Exception이 발생하지 않습니다.






✔︎ 오타, 잘못된 정보가 있을 경우 댓글 달아주세요~!

(확인 수정하도록 하겠습니다~^^)


✔︎ 궁금하신 정보가 있을 경우 댓글 달아주세요~!

(제가 아는 정보에 한해서 답변을 남겨드리도록 할게요~^^)

댓글(14)

  • 두순이 답글 수정
    2018.11.06 02:54

    흠냐,,,,

  • 칭송받는자 답글 수정
    2019.03.05 23:23

    실행시 "The server time zone value 'KST' is unrecognized or represents more than one time zone."
    에러가 뜬다면
    DriverManager.getConnection 쪽에서 "?serverTimezone=UTC&useSSL=false"와 같이
    serverTimezone=UTC& 를 붙여주시면 됩니다.

  • 2019.05.11 17:37 신고

    너무 감사합니다

  • 안녕하세요 답글 수정
    2019.05.31 17:30

    <JDBC 오류> Driver load 오류: com.mysql.jdbc.Driver
    예외가 발생하는데 왜 그런가요?ㅠㅠ

    • 안녕하세요 수정
      2019.05.31 18:45

      이와 같이 라이브러리 로드가 안될 경우 tomcat 라이브러리에도 추가하니 정상 작동하네요 참고하세요

    • 2019.06.01 00:00 신고

      정보 감사합니다~^^

  • 감사합니다 답글 수정
    2019.07.04 20:49

    저 혹시 시간이되신다면 마리아디비 연동법도 포스팅 부탁드립니다. 정말 잘보고있어요 ^^

    • 2019.07.04 21:18 신고

      MariaDB를 아직 접해보지 않았지만, 추후에 접하는 기회가 생긴다면 포스팅 하도록 하겠습니다.
      의견 감사합니다^^

  • 2019.11.02 19:00 신고

    너무 깔끔한 포스트입니다 정말 감사합니다 ㅠㅠ