14/08/2018, 11:01

DatabaseMetaData Interface trong JDBC

Nếu bạn muốn có thông tin toàn diện về cơ sở dữ liệu, bạn sử dụng các phương thức của DatabaseMetaData Interface. Các thông tin này bao gồm tên của Database product, phiên bản Database product, tên của driver, tổng số bảng, tổng số view, … Một số phương thức được sử dụng phổ biến của ...

Nếu bạn muốn có thông tin toàn diện về cơ sở dữ liệu, bạn sử dụng các phương thức của DatabaseMetaData Interface. Các thông tin này bao gồm tên của Database product, phiên bản Database product, tên của driver, tổng số bảng, tổng số view, …

Một số phương thức được sử dụng phổ biến của đối tượng DatabaseMetaData

1. public String getDriverName()throws SQLException

Phương thức này trả về tên của JDBC driver.

2. public String getDriverVersion()throws SQLException

Phương thức này trả về số hiệu phiên bản của JDBC driver.

3. public String getUserName()throws SQLException

Phương thức này trả về username của cơ sở dữ liệu.

4. public String getDatabaseProductName()throws SQLException

Phương thức này trả về tên Database product.

5. public String getDatabaseProductVersion()throws SQLException

Phương thức này trả về phiên bản của Database product.

6. public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)throws SQLException

Phương thức này trả về sự mô tả về kiểu của bảng. Kiểu của bảng có thể là TABLE, VIEW, ALIAS, SYSTEM TABLE, SYNONYM …

Lấy đối tượng DatabaseMetaData trong JDBC

Để lấy đối tượng DatabaseMetaData, bạn sử dụng phương thức getMetaData() của Connection Interface với cú pháp:

public DatabaseMetaData getMetaData()throws SQLException 

Ví dụ

Dưới đây là ví dụ đơn giản để lấy một số thông tin về cơ sở dữ liệu và Driver mình đang sử dụng:

package com.vietjack.jdbc; import java.sql.*;  
class ViDuJDBC{  
public static void main(String args[]){  
try{  
Class.forName("com.mysql.jdbc.Driver");  
  
Connection con=DriverManager.getConnection(  
"jdbc:mysql://localhost/sinhvien","root","123456");  
  
DatabaseMetaData dbmd=con.getMetaData();  
  
System.out.println("Ten cua Driver la: "+dbmd.getDriverName());  
System.out.println("Driver Version la: "+dbmd.getDriverVersion());  
System.out.println("Ten nguoi dung la: "+dbmd.getUserName());  
System.out.println("Ten cua Database Product la: "+dbmd.getDatabaseProductName());  
System.out.println("Ten cua Database Product Version la: "+dbmd.getDatabaseProductVersion());  
  
con.close();  
  
}catch(Exception e){ System.out.println(e);}  
  
}  
}   

Bạn sao chép, dán và lưu ví dụ trong ViDuJDBC.java, sau đó chạy chương trình Java trên sẽ cho kết quả:

DatabaseMetaData trong JDBC

0