Connector 파일 import

파일은 링크에서 다운로드한다
링크의 상단에 연두색 다운로드 버튼이 있다. 대문짝만 하지는 않지만 찾는 데 문제는 없다.

생성한 프로젝트의 JRE System Library를 우클릭하면 다음과 같은 메뉴를 볼 수 있다.
네모 상자로 표시해둔 부분을 클릭하면서 화면 진행.

Edit JRE 화면에서 Add External JARs 버튼을 클릭해준다.
다운받아둔 connector 파일을 추가하고 Finish 버튼을 눌러준다.
Apply and close 버튼도 눌러주면서 창을 닫아준다.

정상적으로 추가되었다면 JRE System Libarary의 목록을 열었을 때
최하단에 방금 추가한 mariadb-java-client-2.7.3.jar 파일이 보일 것이다.

위와 같이 추가되었으면 정상이다.


ConnectionManager Class 파일 작성

Connection은 Java코드에서 작성한 쿼리를 MariaDB로 보내고, 결과를 받을 수 있도록 연결해주는 것이라 생각하면 된다.
로직 같은 건 존재하지 않는다. 그냥 이 절차에 따라 행하면 끝이다.

  • Class.forName(driver)
    Import해둔 connector(Driver 파일)를 객체화 한다
    이로써 DriverManager 클래스를 사용할 수 있게 된다

  • DriverManager.getConnection(jdbcURL, id, pwd)
    각 RDBMS마다 정해져 있는 jdbcURL과, 연결을 원하는 데이터베이스에 접근 및 사용 권한이 있는 사용자 이름과 비밀번호를 통해 연결을 시작한다
    이 연결에서 Statement 클래스를 사용할 수 있게 된다

/* ConnectionManager */
package prac;

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

public class ConnectionManager {
	
	public static Connection getConnection() {
		Connection con = null;
		String driver = "org.mariadb.jdbc.Driver";
		String jdbcURL = "jdbc:mariadb://127.0.0.1:3306/jdbc";  //jdbc 데이터베이스 이름
		String id = "user";
		String pwd = "1234";
		
		try {
			Class.forName(driver);
			try {
				con = DriverManager.getConnection(jdbcURL, id, pwd);
				System.out.println("Connected...");
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				System.out.println("Connection Failed");
				e.printStackTrace();	// 예외 발생 시 내용 출력 
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			System.out.println("Connection Failed. Check Driver or URL");
			e.printStackTrace();		// 예외 발생 시 내용 출력
		}
		
		return con;	
	}//getConnection()	
}

driver, jdbcURL, id, pwd를 미리 변수로 정해두고, 메서드에는 해당하는 변수를 넣었다.
jdbcURL의 마지막 부분은 접속하고자하는 데이터베이스 이름이다.
미리 설정해둬야 한다.

예외처리는 미리 수행해둔 상태다.

  • Connection을 생성할 때마다 예외처리를 한다면, 중복된 코드가 너무 많아진다
  • 여기서 예외가 일어날 상황은 한정적

이렇게 작성해뒀다면 실행 클래스에서 ConnectionManager의 객체를 생성하고 연결을 테스트해보면 된다.


테스트

/* main */
package prac;

public class JdbcMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ConnectionManager.getConnection();
	}
}
>> 실행 결과
Connected...

☑️ 발생할 수 있는 예외
java.lang.ClassNotFoundException: org.mariadb.jdbc.Driver
이 때는 다음과 같은 과정을 거친다.

프로젝트 폴더를 우클릭하여 Properties 진입.

build path를 검색하여 Java Build Path 메뉴 진입 후,
처음과 동일하게 Add External JARs 버튼을 눌러 다운받은 connector 파일 선택.
Add External JARs 버튼이 비활성화 됐다면 Classpath를 클릭해준다.


이 과정을 정상적으로 수행했다면 Connection을 통해 DB와 정보를 주고 받을 수 있게 된다.

0개의 댓글