DatabaseMetaData
는 JDBC API에서 제공하는 인터페이스로, 데이터베이스의 구조 및 속성에 관한 메타데이터를 가져올 수 있도록 도와줍니다. 이를 통해 테이블, 컬럼, 사용자 권한, 데이터베이스 버전 등과 같은 정보를 조회할 수 있습니다. 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);
}
}
}