본문 바로가기
→ My Meta+IT/JAVA Source

Java JDBC Connector j / 이클립스에서 자바 MariaDB 연결

by DigitalJobs 2021. 12. 21.

Java JDBC Connector j / 이클립스에서 자바 MariaDB 연결

네이버 블로그에서 포스팅했던 내용을 일부 수정하여 재수정해봅니다.

Java와 JSP를 공부하시는 분들 중에서는 데이터베이스와의 연동이 필요해지기 마련입니다.

자바와 데이터베이스를 연결하기 위해서는 JDBC라는 드라이버가 필요합니다. 이것은 필요한 클래스의 이름을 확인한 다음에는 그 확인된 클래스 이름으로 JDBC 드라이버로 로드하는 방식입니다.

이런 과정의 구현은 java.lang.Class 클래스의 정적 메서드인 forName 메서드를 호출해서 구현이 가능하며, 이 메서드의 본래 기능은 주어진 클래스 이름에 해당하는 클래스 정보를 찾아서 리턴하는 것이지만, 그 과정에서 클래스 파일을 JVM 안으로 읽어 들이기 때문에 가능해집니다.

 

Java와 MariaDB를 연동하기 위해서 중간에 JDBC라는 가상의 에뮬레이터가 필요하며 그 역할을 해주는 것이 바로 "Connector J"입니다. Connector J 다운로드 내용은 간단하니 아래의 내용을 참고해 주세요.


다운로드가 완료되었다면, 이클립스에서 데이터베이스와 연동될 프로젝스를 생성합니다.

생성된 프로젝트는 여러분들이 작업할 프로젝트가 됩니다.

개발을 하고 있는 프로젝트가 있으시다면 Libraries에 추가만 해주시면 됩니다.

 

해당 프로젝트에서 마우스 오른쪽 버튼을 누른 후, Build Path를 선택한 후 Configure Build Path를 선탁 한다.

추가

Properties -> Java Build Path로 이동하셔도 됩니다.

Properties -> Java Build Path
Properties -> Java Build Path

Java Build Path -> Libraries -> 생성된 프로젝트명 클릭 -> AddExternal JARS... 을 클릭하여 위에서 다운로드한 JAR파일 선택해 줍니다.

Java Build Path -> Libraries
Java Build Path -> Libraries

생성된 프로젝트 명 아래에 다운로드한 JAR파일이 제대로 들어왔는지 확인 후 Apply and Close를 눌러서 화면을 나옵니다.

 


이클립스에서 MariaDB로 제대로 연결이 되는지 Test를 하기 위해서 아래와 같은 클래스 파일을 생성하여 Check 해봅니다.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DBConnection_maria{
private static final String DB_DRIVER_CLASS = "org.mariadb.jdbc.Driver";
private static final String DB_URL = "jdbc:mariadb://본인 아이피 써주세요!:3306/";
private static final String DB_USERNAME = "root";
private static final String DB_PASSWORD = "본인 DB 패스워드 써주세요!";
private static Connection conn;
PreparedStatement pstmt = null;
private static void connectDB() {
try {
Class.forName(DB_DRIVER_CLASS);
Connection connection = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD);
System.out.println("연결성공");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("드라이브 로딩 실패");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("DB 연결 실패");
}
}
public static void main(String[] args) {
DBConnection_maria test = new DBConnection_maria();
test.connectDB();
}
}
 
핵심 part!!
Connection connection = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD);

위 코드는 상수 문자열을 사용하여 관리를 편하게 코드를 구성하였지만 결국 아래의 형식을 기억해야 합니다.
1            2                3
jdbc:mariadb://192.168.0.1:3306/malldb
// 1은 프로토콜
// 2은 서브 프로토콜
// 3은 서브 네임(subName : //IP주소 : 포트번호 / DB이름)

상수 문자열을 사용하지 않고 직접 대입하는 코드를 사용한다면 아래와 같습니다.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
 
public class DBConnection_maria {
    String driver = "org.mariadb.jdbc.Driver";
    Connection con;
    Statement pstmt;
    ResultSet rs;
 
    public DBConnection_maria() {
         try {
            Class.forName(driver);
            con = DriverManager.getConnection(
                    "jdbc:mariadb://127.0.0.1:3306/dbName",
                    "userId",
                    "userPassword");
            
            if( con != null ) {
                System.out.println("DB 접속 성공");
            }
            
        } catch (ClassNotFoundException e) { 
            System.out.println("드라이버 로드 실패");
        } catch (SQLException e) {
            System.out.println("DB 접속 실패");
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args){
        DBConnection_maria dbcon    = new DBConnection_maria();
    }
}
 

// Statement 객체 생성

Statement stmt = conn.createStatement();

 

여기서 사용된 Statement타입은 java.sql 패키지에 속하는 인터페이스 이름이며, 이 인터페이스에는 select 문을 실행하는 executeQuery라는 메서드가 포함되어 있습니다.

이 메서드에는 파라미터로 select 문을 기술한 문자열을 넘겨주면 됩니다.

 

ResultSet rs = stmt.executeQuery("select code, price, from goodsinfo");

// select 문을 실행하는 메서드

이 메서드는 파라미터로 넘겨준 select 문을 데이터베이스로 보내서 실행하고, 그 결과로 ResulltSet 객체를 리턴합니다.


간단한 예제로는 아래와 같습니다.

Connector J를 사용하여 JDBC를 통해 이클립스에서 MariaDB로 연결
Connector J를 사용하여 JDBC를 통해 이클립스에서 MariaDB로 연결

여기까지 Connector J를 사용하여 JDBC를 통해 이클립스에서 MariaDB로 연결하고 실행하는 코드까지 포스팅해 보았습니다.

Connector J를 사용하여 JDBC를 통해 이클립스에서 MariaDB로 연결
Connector J를 사용하여 JDBC를 통해 이클립스에서 MariaDB로 연결

댓글