본문 바로가기

콩's EDUCATION/콩's JAVA_RUN

select sql (PreparedStatement)

PreparedStatement 을 이용한 SELECT


 

import java.sql.*;
import java.sql.Date;
import java.util.*;


public class PreSelectSQLTest {
 public static void main(String[] args) {
  Connection con = null;
  try{
  Class.forName("oracle.jdbc.driver.OracleDriver");
  // 사용할 드라이버 로드한다.
  con = DriverManager.getConnection
    ("jdbc:oracle:thin:@127.0.0.1:1521:xe","scott","tiger");
  System.out.println("정상적으로 연결 되었습니다. ");
  
  // PreparedStatement 실행할 sql
  // 키보드 : 서울 입력
  // emp 테이블에서 job이 clerk 이거나
  // 서울 지역 부서에 근무하는 사원의
  // 이름, job, 부서이름, 지역 조회
  // ==> emp + dept == join
  Scanner input = new Scanner(System.in);
  System.out.println("직종 : ");
  String job = input.next();
  System.out.println("근무지역 : ");
  String loc = input.next();
  
  String selectSql = "select ename,job,dname,loc"
    +" from emp e, dept d"
    +" where e.deptno = d.deptno"
    +" and (job = ? or loc = ?)"
    +" order by ename ";

  // 2. PreparedStatement 생성
  PreparedStatement st = con.prepareStatement(selectSql);
  st.setString(1, job);
  st.setString(2, loc);
  
  // 3. sql 실행
  ResultSet rs = st.executeQuery();
  
  // 4. sql 조회
  while(rs.next()==true){
   String ename = rs.getString("ename");
   String jobs = rs.getString("job");
   String name = rs.getString("dname");
   String city = rs.getString("loc");
   System.out.println(ename+":"+jobs+":"+name+":"+city);
  }

  
  
  
  con.close();
  System.out.println("정상적으로 연결해제 되었습니다.");
  }catch(ClassNotFoundException e){
   System.out.println ("jdbc 드라이버 미등록이거나 이름 오류입니다.");
  }catch(SQLException e){
   e.printStackTrace();
   System.out.println("연결정보 오류");
  }finally{
   try{
   if(!con.isClosed()) con.close();
   }catch(SQLException e){
    System.out.println("finally 오류");
   }
  }
 }
}

 

결과 개인 확인

 

 

PreSelectSQLTest.java