import java.sql.*;
// 1. DatabaseMetaData´Â ConnectionÀÇ getMetaData()¸¦ ÀÌ¿ë, instance¸¦ ¾ò´Â´Ù.
// 2. DatabaseMetaData¸¦ ÀÌ¿ëÇÏ¿© DBMS¿¡ °ü·ÃµÈ »çÇ×À» Ãâ·ÂÇÏ´Â ¿¹Á¦ÀÌ´Ù.
// 3. »ó¼¼ÇÑ »çÇ×Àº APIÀÇ Method¸¦ ÂüÁ¶ÇØ º¸¸é ¸¹Àº ³»¿ëÀ» ¾Ë ¼ö ÀÖ´Ù.
public class DbMetaData {
Connection con; // Connection object
Statement stmt; // Statement object
ResultSet rs; // ResultSet object
// Connection object¸¦ ÀÌ¿ëÇÏ¿© DBÀÇ MetaÁ¤º¸¸¦ ¾ò°í Ãâ·ÂÇÑ´Ù.
public void test() {
// DB¿¬°á Á¤º¸
String url = "jdbc:oracle:thin:@localhost:1521:sid"; // URL
String user = "scott"; // »ç¿ëÀÚ ID
String pwd = "*****"; // ºñ¹Ð¹øÈ£
try {
// 1. Driver¸¦ LoadÇÑ´Ù.
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2. DB¿¬°á °´Ã¼ »ý¼º
con = DriverManager.getConnection(url, user, pwd);
// 3. DatabaseMetaData ¾ò±â :: DB¿¡ ´ëÇÑ MetaÁ¤º¸¸¦ ¾ò´Â´Ù.
// ConnectionÀÇ getMetaData()¸¦ ÀÌ¿ëÇؼ instance¸¦ ¾ò´Â´Ù.
DatabaseMetaData dmd = con.getMetaData();
// 4. DB¿¡ ´ëÇÑ MetaÁ¤º¸¸¦ Ãâ·ÂÇÑ´Ù. getStringFunctions()
System.out.println("DBMS À̸§ : " + dmd.getDatabaseProductName());
System.out.println("DBMS Á¦Ç°¹öÀü : " + dmd.getDatabaseProductVersion());
System.out.println("Driver¸í : " + dmd.getDriverName());
System.out.println("DBMS Driver¹öÀü : " + dmd.getDriverVersion());
System.out.println("DBMS URL : " + dmd.getURL());
System.out.println("DBMS USER : " + dmd.getUserName());
System.out.println();
System.out.println("String ÇÔ¼ö : " + dmd.getStringFunctions());
System.out.println("Date ÇÔ¼ö : " + dmd.getTimeDateFunctions());
System.out.println("math ÇÔ¼ö : " + dmd.getNumericFunctions());
System.out.println("SQLKeywords : " + dmd.getSQLKeywords());
// 5. object¸¦ closeÇÑ´Ù.
con.close(); // Connection Object
} catch (ClassNotFoundException c) {
c.printStackTrace();
} catch (SQLException s) {
s.printStackTrace();
}
}
// °´Ã¼¸¦ »ý¼ºÇÏ°í ½ÇÇàÇÑ´Ù.
public static void main(String args[]) {
DbMetaData t = new DbMetaData();// °´Ã¼ »ý¼º
t.test();// ½ÇÇàÇÑ´Ù.
}
}
ResultSetÀÇ Ä÷³ÀÇ Á¤º¸¸¦ °¡Á®¿Í »ç¿ë ÇÒ¼ö ÀÖ´Ù.
¿¹) rsmd = rs.getMetadata();
getColumnCount() :: Ä®·³¼ö¸¦ ¹Ýȯ.
getColumnName(int) :: ÇØ´ç Ä®·³ÀÇ À̸§ ¹Ýȯ
getColumnLabel(int) :: ÇØ´ç Ä®·³ º°ÄªÀ» ¹Ýȯ.
getColumnType(int) :: ÇØ´ç Ä®·³ÀÇ Å¸ÀÔ ¹Ýȯ.
ÀÌ Å¬·¡½º´Â ResultSet À¸·ÎºÎÅÍ ¸¸µé¾î Áý´Ï´Ù.
±×·¸´Ù¸é... ResultSet Àº ³»°¡ ÁúÀÇÇÑ °Í¿¡ ´ëÇÑ °á°ú ÀÔ´Ï´Ù.
°á°ú¸¦ º¸°í, Àú·± Á¤º¸µéÀ» »ÌÀ» ¼ö Àִٴ°ÍÀº ?
int ÇüÀ϶§, getInt
String ÇüÀ϶§, getString
µîµî... À¸·Î. ¸¸µé¾î¼, ÀÚµ¿È ÇÒ ¼ö ÀÖ°ÚÁö¿ä ^^