[JDBC] 이클립스(Eclipse)와 MySQL 연동하기

Jungwook·2023년 6월 5일
0

JDBC

목록 보기
1/6

JDBC

  • JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다.
  • JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다.

JDBC 실행 절차

  1. JDBC 드라이버를 로드
  2. 데이터베이스 연결
  3. SQL 명령어(Statement 또는 PreparedStatement)를 사용하여 질의 수행.
  4. 질의 결과를 ResultSet 객체를 생성하여 결과 리턴
  5. JDBC 연결 과정에서 필요했던 객체들을 close

이클립스(Eclipse)와 MySQL 연동하기

JDBC Driver 설치 (*.jar 파일 다운로드)

https://downloads.mysql.com/archives/c-j/

Java에 JDBC Driver 로드

  1. 프로젝트 생성
  2. 프로젝트 우클릭
  3. Build Path - Configure Build Path 선택
  4. Modulepath 클릭 - Add External JARS 선택 - 다운로드 받은
    mysql-connector-j-8.0.32 선택 - Apply 클릭 - Apply and Close 클릭

  5. Referenced Libraries에 mysql-connector-j-8.0.32.jar가 추가된 것을 확인할 수 있다.

JDBC 사용하기(MySQL 연동)

  1. Class.forName() 메서드를 이용해서 JDBC 드라이버를 로딩
Class.forName("com.mysql.cj.jdbc.Driver");
  1. 데이터 베이스 연결
String url = "jdbc:mysql://localhost:3306/employees?serverTimezone=UTC"; //DB연결 (로컬호스트 뒤에 연결 할 DB명)
			String user = "아이디"; //mysql 워크벤치 아이디
			String pass = "비밀번호"; //mysql 워크벤치 비밀번호
  1. Connection 객체 생성으로 계정 연결
Connection con = DriverManager.getConnection(url, user, pass);

전체 코드

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

public class DBDB {

	public static void main(String[] args) {
		
		System.out.println("MySQL연동");
		 
		
	
		// 8.x 버전
		try {
			Class.forName("com.mysql.cj.jdbc.Driver"); // Class.forName() 메서드를 이용해서 JDBC 드라이버를 로딩
			String url = "jdbc:mysql://localhost:3306/employees?serverTimezone=UTC"; //DB연결 (로컬호스트 뒤에 DB명)
			String user = "아이디"; //mysql 워크벤치 아이디
			String pass = "비밀번호"; //mysql 워크벤치 비밀번호
			
			// 데이터베이스 실제 연결을 도와주는 클래스
//			Connection con = DriverManager.getConnection(url, user, pass);
			try {
				Connection con = DriverManager.getConnection(url, user, pass);
				
				if(con != null) {
					System.out.println("DB연결 성공!");
				}
				
				
				
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				System.out.println("연결 에러");
			}
			
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			System.out.println("드라이버 로딩 에러");
			e.printStackTrace();
		}
		
		
		
	}

	// 데이터베이스 작업에 사용한 객체를 닫는 메서드 
	public static void close(Connection conn) {
		if(conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
	
	
	public static void close(Statement conn) {
		if(conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
	
	public static void close(PreparedStatement conn) {
		if(conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
	
	public static void close(ResultSet rs) {
		if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } }
	}
	
}

실행 결과

MySQL의 employees 데이터베이스와 연결 성공

0개의 댓글