20일차 - Eclipse_DB연결

김재령·2022년 2월 26일
0
package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;

// Java에서 DataBase에 Connection 하기 위한 라이브러리(클래스 파일묶음)
// JDBC (Java DataBase Connectivity)
// JAR : Java ARchive File, 내부에 패키지 및 클래스 파일이 저장되어 있다

public class Ex03 {
        public static void main(String[] args) throws Exception {

                String url = "jdbc:oracle:thin:@192.168.1.100:1521/xe";  // 접속할 DB의 주소
                String user = "c##itbank";                                     // 접속할 DB의 계정
                String password = "it";                                          // 접속할 DB의 암호
                String sql = "select * from mem";                             // 접속후 수행할 SQL 쿼리문
                String name = null, age = null;                                // 결과를 저장할 문자열 변수

                // 1) 접속에 사용할 드라이버를 불러온다
                Class.forName("oracle.jdbc.driver.OracleDriver");

                // 2) 드라이버와 주소,계정,암호를 이용하여 연결 객체를 만들어낸다(접속한다)
                Connection conn = DriverManager.getConnection(url, user, password);

                // 3) 접속 상태 객체를 불러온다 (상태 정보를 가지는 객체에게 SQL문을 전달하여 결과를 받을 수 있다)
                Statement stmt = conn.createStatement();

                // 4) 상태 객체에서 쿼리문을 전달하여 결과를 ResultSet 형태로 받는다
                ResultSet rs = stmt.executeQuery(sql);

                while(rs.next()) {        // 5) 결과 셋에 다음 내용(아직 조회하지 않은)이 있으면 반복문을 수행한다
                        name = rs.getString("name");
                        age = rs.getString("age");
                        System.out.println(name + " : " + age + "살");

                        Member2 ob = new Member2();
                        ob.setName(rs.getString("name"));
                        ob.setAge(Integer.parseInt(rs.getString("age")));
                }

//                System.out.println(data);        // 7) 변수에 저장된 값을 출력한다

                rs.close();                // 8) 사용이 끝났으면 연결의 역순으로 객체를 close() 한다
                stmt.close();
                conn.close();
        }
}
profile
with me

0개의 댓글