관리 메뉴

Frog is cry

Leture12_ResultSet 본문

JSP/실습

Leture12_ResultSet

Frog is cry 2020. 8. 5. 18:42
java.sql.ResultSet
> SELECT 등의 조회 쿼리문을 실행한 후 돌아오는 조회 값을 포함하는 클래스

ResultSet의 구조
> 결과로 가져온 데이터는 Table형태와 흡사
> ResultSet의 next()를 사용하여 값이 있는지 없는지 확인
> next()실행 후, get...() 메소드를 사용하여 값을 얻어옴
> 여러 행이 있을 경우 반복문을 사용
package jdk.pratice.basic;

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

public class Test07 {
	public static void main(String[] args) {
		
	String user = "myJsp";
	String password = "jsppassword";
	String url = "jdbc:oracle:thin:@localhost:1521:xe";
			
	Connection con = null;
	PreparedStatement ps = null;
	ResultSet rs = null;
		
	try {
		// 커넥션 준비
		Class.forName("oracle.jdbc.driver.OracleDriver");
		con = DriverManager.getConnection(url, user, password);

		String sql = "SELECT st_name, st_avg FROM student";
		ps = con.prepareStatement(sql);
		rs = ps.executeQuery(); // 값을 보기위해 rs에 담음
		
//		boolean result = rs.next();	// 레코드가 1개라도 있으면 true / 없으면 false
									// 레코드를 확인하기 위해서는 최소 1회 next() 실행해야 함
									// 실행하지 않은 초기 커서는 아무것도 가리키지 않기 때문이다.
		
		String name;
		double avg;
		
			
		while(rs.next()) {	// 레코드가 남아있을 동안 반복하라!
		name = rs.getString("st_name"); //getString : String타입에 값을 얻어오겠다. 
		// 현재 위치 레코드의 st_nameg 항목의 값을 String 형태로 갖다줘!
		avg = rs.getDouble("st_avg");
							//(String) 	: 항목이름
							//(int) 	: 몇번째 항목(<= 항목 이름을 모를때 사용) 
		// 현재 위치 레코드의 st_avg 항목의 값을 Double 형태로 갖다줘!
		System.out.println(name + " / " + avg + "점");
		}
		
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		try {
			if(ps != null) {ps.close();}
			if(con != null) {con.close();}
		} catch (SQLException e) {
			e.printStackTrace();
		}
      }
	}
}

'JSP > 실습' 카테고리의 다른 글

Leture15_HTML 소개와 주요기능  (0) 2020.08.06
Leture13_Practice  (0) 2020.08.05
Leture11_PreparedStatement  (0) 2020.08.05
Lecture10_Practice  (0) 2020.08.04
Lecture09_Connection 연동  (0) 2020.08.04
Comments