본문 바로가기

DB

[MySQL]JAVA에서 MySQL 연결을 위한 JDBC 사용하기

안녕하세요 찬란한입니다.

 

요즘은 JSP 과정을 배우고 있습니다.

 

JSP 강습 중 본격적으로 프로젝트를 만들어보는 단계에 진입했어요.

 

그런데 강의는 JAVA와 Oracle 데이터베이스를 연결하는 데 반해, 저는 맥북 m1을 사용하기 때문에 Oracle 지원이 안되다고 하더군요.

 

그래서 MySQL과 JDBC를 연결해야 했습니다.

 

[JDBC가 무엇입니까]

- Java DataBase Connectivity

- 위의 약자로 JDBC라고 합니다.

- 풀이하면 자바의 데이터베이스 연결(성) / DB연결해주는 모듈 정도로 해석가능하겠네요 :)

- 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. _출처 위키백과

 

데이터베이스의 종류는 여러가지가 있습니다. 

대표적으로 Oracle 데이터베이스, MySQL데이터베이스, MSSQL 데이터베이스 등 그 외에도 여러가지가 있죠.

이 모든 데이터베이스의 역할이나 성능이 일맥하나, 엄연히 다른 플랫폼에서 제공되는 것들이기 때문에 조금씩 문법이나 기능의 차이가 존재합니다

물론 왠만하면 데이터베이스를 도중에 변경한다거나 번갈아가며 쓰는 일은 거의 없다고 보지만, 다양한 데이터베이스 중 하나를 사용하기에 앞서 이것들의 사용을 단일화시켜줄 수 있는 도구라고 생각하면 됩니다.

 

이 JDBC를 사용할 때는 이 JDBC와 연결을 해줄 수 있는 각 데이터베이스의 JDBC 드라이버를 설치하고 적용하여야 합니다.

 

 

[MySQL JDBC 드라이버 설치하기]

https://dev.mysql.com/downloads/file/?id=476197

 

MySQL :: Begin Your Download

The world's most popular open source database

dev.mysql.com

위 URL에서 "No thanks, just start my download" 클릭

다운로드가 된 압축파일을 압축해제해줍니다.

 

mysql-connector-java 폴더 생성, 클릭(아래 그림)

mysql-connector-java-bin.jar파일이 생성이 될 텐데 이 파일이 JDBC연결에 필요한 파일입니다.

 

저는 이 파일을 저의 Java 폴더 내부에 이동시켰습니다. 

 

/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home/jre/lib/ext 폴더로 이동

 

 

[MySQL JDBC 드라이버 적용하기]

그 다음 프로젝트 폴더에서 라이브러리를 추가할 것입니다.

프로젝트 폴더 우클릭 -> Build Path -> Configure Build Path 클릭(위 그림)

 

 

이전에 옮겨두었던 mysql-connector-java-bin.jar파일을 선택해주시고 적용해주시면 됩니다.

 

 

 

그럼 위 그림처럼 Referenced Libraries (참조 라이브러리)가 생성되고 jdbc 라이브러리가 추가된것을 확인하실 수 있습니다.

 

 

[MySQL JDBC 연결코드]

  package ex1;

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

public class Program {
	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		Connection conn = null;
		
		 
		// com.mysql.jdbc 패키지의 Driver 클래스를 import 
		Class.forName("com.mysql.jdbc.Driver"); 
		
		//jdbc:mysql://localhost:3306/데이터베이스
		String url = "jdbc:mysql://localhost:3306/garbage?serverTimezone=UTC";
		String sql ="SELECT * FROM 테이블";
		
		//"jdbc:mysql://localhost:3306/데이터베이스",userId","비밀번"
		conn = DriverManager.getConnection(url,"유저아이디","비밀번호");
		System.out.println(conn.toString());
		
		Statement st = conn.createStatement();
		ResultSet rs = st.executeQuery(sql);
		
		if(rs.next()) {
			String title = rs.getString("iirrpk"); 
			System.out.println( title);
		}
	}
}

 

그리고 JDBC를 연결시키는 코드입니다.

 

위 코드는 기본적으로 연결을 하는 것까지만 작성하겠습니다.

 

글 봐주셔서 감사합니다.

 

좋은 하루 되세요!