article thumbnail image
Published 2022. 10. 27. 20:55

- JDBC (Java Database Connectivity)

자바에서 DB 소프트웨어와 연결하여 프로그램을 개발하기 위해 사용하는 API이다.

 

자바 애플리케이션 <-----------------> JDBC API <-----------------> JDBC Driver <-----------------> MYSQL

이런 식으로 중간다리 역할을 해주어서 Java에서도 바로 SQL문을 작성해서 DB에 삽입, 수정, 조회 등을 가능하게 해 준다.


 

- JDBC Driver 다운로드

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

 

MySQL :: Download Connector/J

MySQL Connector/J 8.0 is highly recommended for use with MySQL Server 8.0, 5.7 and 5.6. Please upgrade to MySQL Connector/J 8.0.

dev.mysql.com

위 링크에 접속해 PlatForm Independent 선택

Zip 파일을 다운로드하고, 압축을 풀어 mysql-connector-j-8.0.31.jar 파일을 원하는 디렉터리에 저장하면 끝이다!

 


- 인텔리제이에서 JDBC 드라이버 추가

file -> project Structure -> Library -> +클릭 -> java 선택 ->  디렉터리에서 jar파일 선택하고 적용하면 Extenal Libraries에 추가된 것을 확인할 수 있다.

라이브러리에 추가

 

 

- JDBC API를 통해 DBMS와 연결

1. JDBC Driver를 로딩

Class.forName("JDBC 드라이버 패키지명");
Class.forName("com.mysql.cj.jdbc.Driver");

 

2. JDBC API와 DBMS 연결

DriverManager.getConnection(주소, 아이디, 비밀번호);     
			// 연결을 성공하면 Connection 객체 생성
주소 : jdbc:mysql:		//IP주소/db명?useSSL=true

여기서 ip주소는 초록창에서 내 ip주소를 입력하면 나온다.

 

 


jdbc 사용해보기!!

 

 

mysql에 만든 tb_member에 새로운 멤버 추가하기

tb_member의 컬럼

package day11;

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

public class JDBC {
    public static void main(String[] args) {
        String url = "jdbc:mysql://192.168.0.10/devwork?useSSL=false";
        					//[ip주소 / localhost:포트번호]
        String userid = "biblia";
        String userpw = "0214";

        String sql = "INSERT INTO tb_member (mem_userid, mem_userpw, mem_name, mem_hp, mem_email, mem_hobby, mem_ssn1, mem_ssn2, mem_zipcode, mem_address1, mem_address2, mem_address3, mem_point, mem_gender) " +
                "values ('lemon', '6666','이레몬', '010-6666-6666', 'lemon@lemon.com', '음악듣기','000101','1234567','12345','서울시','강남구','역삼동','100','남자');";


        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection conn = DriverManager.getConnection(url, userid, userpw);
            Statement stmt = conn.createStatement();
            int cnt = stmt.executeUpdate(sql);

            if(cnt == 1) System.out.println("멤버 입력 완료!");
            else System.out.println("입력에 실패했습니다.. 다시 확인 해주세요...");

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

 

위 코드의 결과
mysql 결과

자바에서 SQL문을 바로 작성하면 어디서 오류가 나는지 확인하기 힘들기 때문에 mysql에서 작성해서 확인하고 그것을 자바에 넣는 것이 좋다!!!!

위에 자바 코드에서 문자열 sql에 입력한 부분이 잘 들어간 것을 확인할 수 있다.

 

 

사용한 계정의 권한이 localhost여서 localhost:port번호로 연결 해 주었다.

복사했습니다!