Notice
Recent Posts
Recent Comments
관리 메뉴

Developer Gonie

[7주차] 3. select 문 실행하기 & 출력하기*** 본문

K-DigitalTraining 강의/3. JDBC(Java + Oracle DB)

[7주차] 3. select 문 실행하기 & 출력하기***

이대곤 2022. 6. 20. 16:34
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Select {
	public static void main(String[] args) {

		String driver = "oracle.jdbc.driver.OracleDriver";
		String url = "jdbc:oracle:thin:@localhost:1521:orcl";
		String id = "jspid";
		String pw = "jsppw";

		try {
			// 1. 드라이버 로드
			Class.forName(driver);

			// 2. 계정에 접속
			Connection conn = DriverManager.getConnection(url, id, pw);

			// 3. 명령어 분석
			String sql = "select * from dbtest";
			PreparedStatement ps = conn.prepareStatement(sql);
			
			// 4. 분석된 명령어를 실행하고 그 결과를 가져옴
			ResultSet rs = ps.executeQuery();
			
			/* rs: 
            	  	NUM    NAME          ADDR
           		   	--- ------- -------------
              		  1     kim           서울
             	 	  2     park          부산
              		  3     choi          제주
			*/
			
			// 콘솔에서 insert 후 commit 안하면 반영이 안되어 보여질 수 있음에 주의.
			// PL/SQL과 같이 한 줄 씩 뽑아서 출력해야 함
			while (rs.next()) {
				int a = rs.getInt("num"); // 한 줄에서 num 이름의 컬럼에 해당하는 값을 가져옴
				String b = rs.getString("name"); // 한 줄에서 name 이름의 컬럼에 해당하는 값을 가져옴
				String c = rs.getString("addr"); // 한 줄에서 addr 이름의 컬럼에 해당하는 값을 가져옴
				System.out.println(a + "/" + b + "/" + c);
			}
			
			// 5. 접속끊기
			conn.close();
			
		} catch (ClassNotFoundException e) {
			System.out.println("드라이버 로드 실패");
		} catch (SQLException e) {
			System.out.println("접속 실패 / 분석에러 / 없는 컬럼을 가져옴");
		}
	}
}


/*
1/kim/서울
2/park/부산
3/choi/제주
*/
Comments