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 오류");
}
}
}
}
결과 개인 확인