-
JDBC 조건을 추가하여 출력하기JDBC 2022. 1. 31. 17:20
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다.
String url = "jdbc:oracle:thin:@localhost:1521/xepdb1"; String sql = "SELECT * FROM NOTICE WHERE HIT >=10"; Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con = DriverManager.getConnection(url,"sys as sysdba", "Ew170916!!"); Statement st = con. createStatement(); ResultSet rs = st.executeQuery(sql); while(rs.next()) { //다음으로 넘어가기 int id = rs.getInt("ID"); String title = rs.getString("TITLE");//title이라는 컬럼명을 조회 String writerid = rs.getString("WRITER_ID"); Date regDate = rs.getDate("REGDATE"); String content = rs.getString("CONTENT"); int hit = rs.getInt("HIT"); //System.out.println(title); //제대로 가져와지는지 출력문으로 확인해보기 System.out.printf("id:%d, title:%s, writerid:%s,regDate:%s,content:%s,hit:%d\n" ,id,title,writerid,regDate,content,hit); } rs.close(); st.close(); con.close(); } }이러한 코드를 작성해서 우리는 입력된 데이터를 모두 출력 할 수 있었다.
여기에 이제 조건을 추가해서 특정 조건에 해당하는 레코드만 출력 하게 해보자.
조회수가 10 이상인것만 출력하고자 했을 떄
출력문 위에 if문을 사용해서 if(hit > 10) 코드를 작성해도 우리가 원하는 결과가 나오지만
여기서는 sql문에 where절을 작성해주는것이 더 바람직하다.
왜냐하면 만약 컬럼이 1억개가 있고 내가 원하는 결과는 그 안에 두개밖에 없다고 가정해보자.
시퀀스 서버에서 조건문이 안들어간다면 시퀀스 서버에서는 1억개의 데이터를 전부 가져 올 것이고 그럼 그때부터 IF문으로 조회를 해서 1억개를 다 조사 후에 단 두개만을 반환하게 되는 것이다.
데이터가 계속해서 쌓인다고 하면 더욱더 비효율적이게 된다.
그래서 조건은 시퀀스문에 넣어주는것이 바람직한것이다.
String url = "jdbc:oracle:thin:@localhost:1521/xepdb1"; String sql = "SELECT * FROM NOTICE"; Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con = DriverManager.getConnection(url,"sys as sysdba", "Ew170916!!"); Statement st = con. createStatement(); ResultSet rs = st.executeQuery(sql); while(rs.next()) { //다음으로 넘어가기 int id = rs.getInt("ID"); String title = rs.getString("TITLE");//title이라는 컬럼명을 조회 String writerid = rs.getString("WRITER_ID"); Date regDate = rs.getDate("REGDATE"); String content = rs.getString("CONTENT"); int hit = rs.getInt("HIT"); //System.out.println(title); //제대로 가져와지는지 출력문으로 확인해보기 System.out.printf("id:%d, title:%s, writerid:%s,regDate:%s,content:%s,hit:%d\n" ,id,title,writerid,regDate,content,hit); } rs.close(); st.close(); con.close(); } }이렇게 코드 두번째 줄 부분에 sql문에다가 where절을 이용해서 원하는 조건을 넣고 출력 하게 되면

이렇게 조회수 10 이상인 것들만 출력 되는 것을 확인할수있다.
'JDBC' 카테고리의 다른 글
JDBC를 이용해서 쿼리 입력하는 코드 (0) 2022.02.03 JDBC 데이터 입력 쿼리문 작성 하기 (0) 2022.02.03 레코드의 모든 컬럼 출력하기 (0) 2022.01.31 쿼리 실행해보기 (0) 2022.01.30 Exception in thread "main" java.sql.SQLException: 마지막 행 다음의 결과 집합 (0) 2022.01.30