728x90
반응형
Ex29
package dbc2; import java.sql.*; public class Ex29 { public static void main(String[] args) { String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:xe"; String user = "test"; String pass = "1111"; Connection con = null; try { Class.forName(driver); con = DriverManager.getConnection(url, user, pass); // DataBaseMetaData는 Connection의 getMetaData()를 이용, instance를 얻고 // 해당 객체를 이용하여 DBMS에 관련된 사항을 얻을 수 있다. DatabaseMetaData data = con.getMetaData(); //MetaData : DB관련 필요한 정보를 담고있는 클래스 System.out.println("1. 데이터베이스종류: " + data.getDatabaseProductName()); System.out.println("2. 데이터베이스 버전정보: " + data.getDatabaseProductVersion()); System.out.println("3. 데이터베이스 드라이버명: " + data.getDriverName()); System.out.println("4. 데이터베이스url정보: " + data.getURL()); // 현재 데이터베이스에서 사용할 수 있는 스키마 이름을 검색함. ResultSet rs = data.getSchemas(); ResultSetMetaData rsmd = rs.getMetaData(); int cols = rsmd.getColumnCount(); System.out.println("\n====================="); for (int i = 1; i <= cols; i++) { System.out.printf("%10s (계정명)\t", rsmd.getColumnName(i)); } System.out.println("\n====================="); while (rs.next()) { // System.out.println(rs.getString(1)); System.out.println(rs.getString("TABLE_SCHEM")); } System.out.println("====================="); rs.close(); } catch (Exception e) { e.printStackTrace(); } finally { try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
1. 데이터베이스종류: Oracle 2. 데이터베이스 버전정보: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production 3. 데이터베이스 드라이버명: Oracle JDBC driver 4. 데이터베이스url정보: jdbc:oracle:thin:@localhost:1521:xe ===================== TABLE_SCHEM (계정명) ===================== ANONYMOUS APEX_040000 APEX_PUBLIC_USER APPQOSSYS CTXSYS DBSNMP DIP FLOWS_FILES HR MDSYS ORACLE_OCM OUTLN SAMP SCOTT SYS SYSTEM TEST XDB XS$NULL =====================
Ex30
package dbc2; import java.sql.*; public class Ex30 { public static void main(String[] args) { String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:xe"; String user = "test"; String pass = "1111"; Connection con = null; Statement stmt = null; ResultSet rs = null; try { Class.forName(driver); con = DriverManager.getConnection(url, user, pass); stmt = con.createStatement(); String query = "SELECT * FROM DEPT"; rs = stmt.executeQuery(query); ResultSetMetaData rsmd =rs.getMetaData(); int cols = rsmd.getColumnCount(); for (int i = 1; i <= cols; i++) { System.out.printf("%10s \t", rsmd.getColumnName(i)); } System.out.println("\n================================================="); while (rs.next()) { System.out.printf("%10s \t %10s \t %10s \t \n", rs.getInt(1), rs.getString(2), rs.getString(3)); } } catch (Exception e) { e.printStackTrace(); } finally { try { rs.close(); stmt.close(); con.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
DEPTNO DNAME LOC ================================================= 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 50 인사 서울 50 인사 서울 50 인사 서울 50 인사 서울 50 인사 서울
728x90
반응형
'[JDBC]' 카테고리의 다른 글
[JDBC] TRANJACTION - COMMIT, ROLLBACK, 원자성 (0) | 2024.02.01 |
---|---|
[JDBC] ex) [회원정보테이블] (0) | 2024.01.31 |
[JDBC] DAO, DTO (0) | 2024.01.31 |
[JDBC] Statement, PreparedStatement (0) | 2024.01.30 |
[JDBC] JDBC Setting (0) | 2024.01.29 |