본문 바로가기
java

[Java] DB Connection

by BENGGRI 2021. 1. 12.
반응형

※ Java 프로그램에서 SQL문을 실행하기 위한 DB 연결

Java Connection 을 이용한 Select 문 실행 예제

 

        java.sql.Connection        conn    = null; // DB Connection 객체.
        java.sql.PreparedStatement prestmt = null; // Statement 와 차이 = PreparedStatement는 객체를 캐시에 담아 재사용.
        java.sql.ResultSet         rs      = null; // select 결과를 담아야 할 때 필요.

        try {
            Class.forName("oracle.jdbc.driver.OracleDriver"); // 동적 클래스 로드
            // 에제는 Oracle 에 접속하기 위한 OracleDriver
            // ojdbc.jar 가 있어야 한다.
            conn = java.sql.DriverManager.getConnection("DB_URL", "DB_USER", "DB_PASSWORD"); // DB 연결

            String query = " SELECT 'TEST' AS TXT  FROM DUAL "; // SELECT 쿼리문을 String 값으로 생성.

            prestmt = conn.prepareStatement( query ); // 쿼리 실행 준비
            rs      = prestmt.executeQuery(); // 쿼리 실행

            while( rs.next() ) {
                rs.getString( "TXT" ); // ResultSet 에서 컬럼명을 이용한 데이터 가져오기
                rs.getInt( "" );
                rs.getDouble( "" );
                rs.getDate( "" );
                // 이 외에도 많은 데이터 타입이 있다.
                // 데이터 타입에 맞게 정보를 가져올 수 있다.
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 사용이 완료되면 반드시 해제해줘야한다.
            if( rs != null ) {
                try {
                    rs.close(); 
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if( prestmt != null ) {
                try {
                    prestmt.close(); 
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if( conn != null ) {
                try {
                    conn.close(); 
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }

 

반응형

'java' 카테고리의 다른 글

[Java] 1. 변수  (0) 2022.05.13
[java] Reflection  (0) 2021.01.19
[Java] Escape 문자  (0) 2021.01.18
[로직] 반복문 없이 반복하기  (0) 2021.01.12
[Java] Windows 10 자바 설치  (0) 2021.01.11

댓글