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

[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

활동하기