어제는 자바와 오라클을 연결해서, DML을 자바에서 사용했었는데, 오늘은 나아가서 자바에서 DQL을 사용해 콘솔창에 값을 조회하는 방법을 배웠다. 방법은 다음과 같다.
JDBC 드라이버 로딩
String str = "oracle.jdbc.driver.OracleDriver"; Class.forName(str);
데이터베이스 연결 정보 준비
String ur1 = "jdbc:oracle:thin:@localhost:1521:xe"; String id = "C##KH"; String pwd = "1234";
데이터베이스 연결 == 커넥션 객체 얻기
Connection conn = DriverManager.getConnection(ur1, id, pwd);
SQL 준비
String sql = "SELECT * FROM MEMBER";
SQL 실행을 위한 statement 준비
Statement stmt = conn.createStatement();
statement 에 SQL 담아주고 실행 및 결과 리턴받기
ResultSet rs = stmt.executeQuery(sql);
결과 출력
rs.next() = 커서 이동
rs.get자료형("칼럼명") = ResultSet 반환System.out.println(rs); while(rs.next()) { String id1 = rs.getString("ID"); String pwd1 = rs.getString("PWD"); String nick1 = rs.getString("NICK"); MemberVo mV = new MemberVo(id1, pwd1, nick1); System.out.println(mV); }
DQL을 쓸 때 DML과 달라진 점은 int 자료형으로 반환되는 DML과 달리 DQL은 결과값을 ResultSet으로 받아주어야 한다. 그리고, rs.next를 통해 DB에 저장되어있는 값의 커서를 한 칸씩 내려주어야 하고, rs.getString(칼럼명), rs.getInt(칼럼명) 메소드를 통해 값을 꺼내주어야 한다.
* 추가로 MemberVo와 같이 객체를 만들어서 각 컬럼을 한 번에 객체 안에 담아 줄 수 있다.