본문 바로가기

데이터베이스(DB)/JDBC
[JDBC] 데이터 조회

// DBMS를 이용하는 자바  코드

- 드라이버 로드 : 드라이버를 객체화한다.

Class.forName("oracle.jdbc.driver.OracleDriver");


- 연결 : 객체 얻기

Connection con = DriverManager.getConnection(...);


- 실행 도구 생성

Statement st = com.createStatement();


- 결과 패치 : 커서가 레코드를 가리키고 있음(순차적으로 접근해야 함.)

ResultSet rs = st.executeQuery(sql);


- 다음 결과 전달

rs.next();


- 전달받은 결과 반환

String title = rs.getString("title");


※ BoF(Before of File) : 커서가 첫 번째 레코드를 가리키는 상태
※ EoF(End of File) : 더이상 가져올 것이 없는 상태


package ex1;

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

public class Program {
	
	public static void main(String[] args) throws ClassNotFoundException, SQLException {

		String url = "jdbc:oracle:thin:@localhost:1521/xe";
		String sql = "SELECT * FROM NOTICE";
		
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection con = DriverManager.getConnection(url, "SORREL", "");
		Statement st = con.createStatement();
		ResultSet rs = st.executeQuery(sql);
		
		while(rs.next()) {
			String title = rs.getString("TITLE");
			System.out.println(title);
		}
		
		rs.close();
		st.close();
		con.close();

	} //main

}

package ex1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;

public class Program2 {

	public static void main(String[] args) throws ClassNotFoundException, SQLException {

		String url = "jdbc:oracle:thin:@localhost:1521/xe";
		String sql = "SELECT * FROM NOTICE WHERE HIT >= 10";
		
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection con = DriverManager.getConnection(url, "SORREL", "");
		Statement st = con.createStatement();
		ResultSet rs = st.executeQuery(sql);
		
		while(rs.next()) {
			int id = rs.getInt("ID");
			String title = rs.getString("TITLE");
			String writerId = rs.getString("WRITER_ID");
			Date regDate = rs.getDate("REGDATE");
			String content = rs.getString("CONTENT");
			int hit = rs.getInt("hit");
					
			System.out.printf("id: %d, title: %s, writerId: %s, redDate: %s, content: %s, hit: %d\n", id, title, writerId, regDate, content, hit);
			
		}
		
		rs.close();
		st.close();
		con.close();
		
	} //main
	
}

 

'데이터베이스(DB) > JDBC' 카테고리의 다른 글

[JDBC] 데이터 삭제  (0) 2023.02.25
[JDBC] 데이터 수정  (0) 2023.02.25
[JDBC] 데이터 입력  (0) 2023.02.25
[JDBC] 트랜잭션 처리  (0) 2023.02.24
[JDBC] 설치 및 환경설정  (0) 2023.02.23