java.sql.ResultSet
SELECT 등의 조회 쿼리문을 실행한 후 돌아오는 조회 값을 포함하는 클래스
package에서name: test07 class를 하나 더 만든다.
그리고 test06의 코드를 모두 test07에 복사해 옵니다.
package com.goodjobedu.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class test07 {
public static void main(String[] args) {
String id = "myJsp";
String password = "jsppassword";
String ur1 = "jdbc:oracle:thin:@localhost:1521:xe"; //Test01을만들었는데예전에만든DB
Connection con = null;
PreparedStatement ps = null;
try {
//커넥션준비
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(ur1, id, password);
String sql = "UPDATE student SET st_kr= 80";
ps = con.prepareStatement(sql);
int result = ps.executeUpdate();
System.out.println(result + "행에적용되었습니다.");
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
if(ps != null){ps.close();}
if(con != null) {con.close();}
}catch(Exception e) {
e.printStackTrace();
}
}
}
}
//test06의 복사해온 test07소스코드.
//executeQuery이라는 객체를 통해 resultset의 객체를 받음.
package com.goodjobedu.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class test07 {
public static void main(String[] args) {
String id = "myJsp";
String password = "jsppassword";
String ur1 = "jdbc:oracle:thin:@localhost:1521:xe"; //Test01을만들었는데예전에만든DB
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
//커넥션준비
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(ur1, id, password);
String sql = "SELECT st_name, st_avg FROM student";
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
boolean result = rs.next();//레코드가1개라도있으면true/ 없으면false
System.out.println();
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
if(ps != null){ps.close();}
if(con != null) {con.close();}
}catch(Exception e) {
e.printStackTrace();
}
}
}
}
//소스코드
package com.goodjobedu.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class test07 {
public static void main(String[] args) {
String id = "myJsp"
String password = "jsppassword"
String ur1 = "jdbc:oracle:thin:@localhost:1521:xe" //Test01을만들었는데예전에만든DB
Connection con = null
PreparedStatement ps = null
ResultSet rs = null
try {
//커넥션준비
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(ur1, id, password);
String sql = "SELECT st_name, st_avg FROM student"
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
boolean result = rs.next();//레코드가1개라도있으면true/ 없으면false
String name
double avg
name = rs.getString("st_name");
avg = rs.getDouble("st_avg");
System.out.println(name + "/"+ avg + "점");
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
if(ps != null){ps.close();}
if(con != null) {con.close();}
}catch(Exception e) {
e.printStackTrace();
}
}
}
}
//소스코드
//아래 부분을 추가해서 만들었다면 일전에 만든 JJ의 점수가 0.0이라는 것을 알 수 있다.
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(ur1, id, password);
String sql = "SELECT st_name, st_avg FROM student"
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
boolean result = rs.next();//레코드가1개라도있으면true/ 없으면false
String name
double avg
name = rs.getString("st_name");
avg = rs.getDouble("st_avg");
System.out.println(name + "/"+ avg + "점");
//추가된 소스코드
명령어:SELECT st_name, st_avg FROM student;
ST_AVG테이블 자체를 ResultSet이 가져와서 모두 가져와서 전달해 준다고 생각하면 쉽다.
//name = rs.getString("st_name");
avg = rs.getDouble("st_avg");
최초의 rs.next()는 맨 첫 번째 줄의 값을 알려준다고 생각하면 된다.
getString getDouble 얻어오겠다. 스트링 타입의 데이터를 얻어오겠다 getSrting 에 st_name이 들어와있는데.st_name 항목의 값을 String에 갔다줘 라고 생각하면 쉽다.
현재 위치 레코드의 st_avg 항목의 값을 double형태로 갔다줘 라고 생각해도 된다.
ResultSet의 구조
>결과로 가져온 데이터는 Table형태와 흡사.
>ResultSet의 next()를 사용하여 값이 있는지 없는지 확인.
>next()실행 후,get..()메소드를 사용하여 값을 얻어옴.
>여러 행이 있을 경우 반복문을 사용.
************* 컴퓨터 공학부가 모두 잘 되는 날이 왔으면 좋겠습니다. *************
*************틀린 부분이 있다면 말씀해주신다면. 정정 하도록 노력겠습니다. *************
'핫돌의 잡 지식 놓는 곳' 카테고리의 다른 글
언젠가 사용할지도 모르는 JSP 톰캣 설치 및 Eclipse 연동 (0) | 2024.06.26 |
---|---|
언젠가 사용할지도 모르는 JSP 학생관리프로그램 (0) | 2024.06.26 |
언젠가 사용할지도 모르는 JSP PreparedStatement (0) | 2024.06.26 |
언젠가 사용할지도 모르는 JSP 이클립스 설정하기. (0) | 2024.06.26 |
언젠가 사용할지도 모르는 JSP JDK,이클립스 다운받기. (0) | 2024.06.26 |