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

+ Recent posts