본문 바로가기

JAVA/JDBC

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){};                   

               }

 

        }

 

}