[Day 14 | DB] JDBC - DatabaseMetaData

y♡ding·2024년 10월 31일
0

데브코스 TIL

목록 보기
90/163

DatabaseMetaData는 JDBC API에서 제공하는 인터페이스로, 데이터베이스의 구조 및 속성에 관한 메타데이터를 가져올 수 있도록 도와줍니다. 이를 통해 테이블, 컬럼, 사용자 권한, 데이터베이스 버전 등과 같은 정보를 조회할 수 있습니다. DatabaseMetaData는 데이터베이스에 대한 정보를 제공하여, 데이터베이스 관리 및 개발 작업을 보다 효율적으로 수행할 수 있게 합니다.
DatabaseMetaData

DatabaseMetaData 객체 얻기

Connection 객체에서 getMetaData() 메서드를 호출하여 DatabaseMetaData 객체를 가져올 수 있습니다.

Connection conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/sample", "user", "password");
DatabaseMetaData metaData = conn.getMetaData();

주요 메서드

// DB 정보
String getDatabaseProductName()      // DB 제품명
String getDatabaseProductVersion()   // DB 버전
String getDriverName()              // JDBC 드라이버명
String getDriverVersion()           // 드라이버 버전
String getURL()                     // DB 연결 URL

// 사용자 정보
String getUserName()                // 현재 사용자명

예제 코드

package com.exam;

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

public class DatabaseMetaDataEx01 {
    public static void main(String[] args) {
        // 데이터베이스 연결 URL, 사용자명, 비밀번호 설정
        String url = "jdbc:mariadb://localhost:3306/sample";
        String username = "root";
        String password = "123456";

        Connection conn = null; // 데이터베이스 연결을 위한 Connection 객체 선언

        try {
            // JDBC 드라이버 로드 (MariaDB 드라이버 클래스)
            Class.forName("org.mariadb.jdbc.Driver");

            // 데이터베이스에 연결하여 Connection 객체 얻기
            conn = DriverManager.getConnection(url, username, password);

            // DatabaseMetaData 객체를 통해 데이터베이스의 메타데이터 정보 가져오기
            DatabaseMetaData dbmd = conn.getMetaData();
            
            // 데이터베이스 제품명 출력
            System.out.println(dbmd.getDatabaseProductName());
            
            // 데이터베이스 제품 버전 출력
            System.out.println(dbmd.getDatabaseProductVersion());
            
            // JDBC 드라이버 이름 출력
            System.out.println(dbmd.getDriverName());
            
            // JDBC 드라이버 버전 출력
            System.out.println(dbmd.getDriverVersion());
            
            // 현재 연결된 데이터베이스 사용자 이름 출력
            System.out.println(dbmd.getUserName());
            
            // 데이터베이스 URL 출력
            System.out.println(dbmd.getURL());
        } catch (ClassNotFoundException e) {
            // JDBC 드라이버 클래스가 없을 경우 예외 처리
            throw new RuntimeException(e);
        } catch (SQLException e) {
            // SQL 예외 발생 시 예외 처리
            throw new RuntimeException(e);
        }
    }
}

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN