JSP/실습
Leture13_Practice
Frog is cry
2020. 8. 5. 18:43
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();
}
}
}
}