JDBC : 메타 데이터 얻기(ResultSetMetaData)
1
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
//jdbc : ResultSetMetaDara를 이용하여 메타데이터 얻기
public class Ex14_12 {
public static void main(String[] args) {
Connection con = null;
String driver = "oracle.jdbc.driver.OracleDriver";
try {
Class.forName(driver);
con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
DatabaseMetaData data = con.getMetaData();
System.out.println(data.getDatabaseProductName());
System.out.println(data.getDatabaseProductVersion());
System.out.println(data.getDriverName());
System.out.println(data.getURL());
ResultSet rs = data.getSchemas();
while(rs.next()){
System.out.println("계정명 : " + rs.getString(1));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally{
try{ con.close();} catch(SQLException e){};
}
}
}
2
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
//jdbc : ResultSetMetaDara를 이용하여 메타데이터 얻기
public class Ex14_13 {
public static void main(String[] args) {
Connection con = null;
String driver = "oracle.jdbc.driver.OracleDriver";
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName(driver);
con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
stmt = con.createStatement();
String query = "select * from dept";
rs = stmt.executeQuery(query);
ResultSetMetaData data = rs.getMetaData();
System.out.println(data.getColumnCount());
for(int i = 1 ; i <=data.getColumnCount() ; i++){
System.out.print(data.getColumnName(i) + " ");
System.out.print(data.getColumnTypeName(i));
System.out.println("(" + data.getPrecision(i) + ")");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally{
try{ con.close(); rs.close(); ; stmt.close();} catch(SQLException e){};
}
}
}