개발자 미니민의 개발스터디

[JAVA] 자바 - JDBC Statement (SELECT 문 / executeQuery / ResultSet)

by mini_min
[JAVA]
자바 - JDBC Statement (SELECT 문 / executeQuery / ResultSet)

✔️ Statement  (SELECT 문)

-- SELECT 문 으로 데이터 가져오기

Connection conn = DBConn.getConnection();
Statement stmt = null;
ResultSet rs = null;
String sql;
try {
stmt = conn.createStatement();
sql = "SELECT hak, name, birth, kor, eng, mat, "
+ " kor+eng+mat tot, (kor+eng+mat)/3 ave FROM score ";
/*
* executeQuery()
* : SELECT 문을 실행하고 결과를 가지고 있는 ResultSet 객체 반환
*/
rs = stmt.executeQuery(sql);
💡 executeQuery() : SELECT 문을 실행하여 쿼리에 의해 생성된 결과 객체를 반환한다. 

 

 

 

✔️ ResultSet 인터페이스

: 데이터베이스 결과 집합을 나타내는 데이터 테이블로, 조회문을 실행하여 생성됨!

: Statement 객체를 close 하면 같이 close 된다.

 

-- ⭐ next () : 커서를 다음으로 이동시킨다! (while 문이 계속 돌게 만든다)

-- ResultSet rs 객체에 레코드가 없으면 false 값을 리턴한다!

while(rs.next()) {
//1 써도 되고 컬럼명 써도 된다.
// 단, 별명을 준 경우는 별명으로 가져와야한다.
hak = rs.getString(1);
name = rs.getString("name");
birth = rs.getDate("birth").toString();
// getDate : 리턴타입 : java.sql.Date
// getString 쓰면 'YYYY-MM-DD HH:MI:SS 형식으로 반환
// NUMBER , DATE 타입은 String 으로 반환 가능
kor = rs.getInt("kor");
eng = rs.getInt("eng");
mat = rs.getInt("mat");
tot = rs.getInt("tot");
ave = rs.getInt("ave");
System.out.print(hak + "\t");
System.out.print(name + "\t");
System.out.print(birth + "\t");
System.out.print(kor + "\t");
System.out.print(eng + "\t");
System.out.print(mat + "\t");
System.out.print(tot + "\t");
System.out.println(ave);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
if(stmt != null) {
}
if(rs != null) {
try {
rs.close();
} catch (Exception e2) {
}
}
DBConn.close();
}
}

 

 

 

 

 

 

블로그의 프로필 사진

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기