반응형
<쿼리 작성 및 실행>
자바에서 쿼리는 java.sql.Statement 인터페이스로 표현되며 (<%@ page import="java.sql.*" %>)
Statement 객체는 Connect 객체를 통해 얻어오도록 함
- 정적쿼리 : select * from db; 전체 db를 조회하는 유일한 쿼리 (인파라미터가 없는)
- 동적쿼리 : 매번 값이 달라지는 쿼리
** 인파라미터는 미리 작성해둔 쿼리값을 나중에 결정할 수 있게 해주는 변수이며, 쿼리문에서 ? 로 표현
String deletesql = "delete from emp01 where deptno = ?";
PreparedStatement psmt3 = jdbc.con.prepareStatement(deletesql);
psmt3.setInt(1,10); //10번부서 삭제
psmt3.executeUpdate();
- ? 에 10이 대입된다
- setInt 앞의 1은 물음표의 순서
<클래스 객체>
- PreparedStatement (동적)
- Statement (정적)
<공통 실행 메소드>
- excuteQuery() - select
조회한 레코드들의 집함인 ResultSet 객체를 반환
- excuteUpdate() -insert, update, delete
영향을 받은 행의 개수가 int 형으로 반환
<PreparedStatement >
1. jdbc에 연결
JDBConnect jdbc = new JDBConnect();
(JDBConnect)
public JDBConnect() {
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url, "scott", "실제패스워드");
}catch(Exception e){
e.printStackTrace();
}
}
2. sql 작성
String deletesql = "delete from emp01 where deptno = ?";
3. connection객체를 통해 preparedstatement 객체 생성, sql문의 인수 제공
PreparedStatement psmt3 = jdbc.con.prepareStatement(deletesql);
psmt3.setInt(1,10); //10번부서 삭제
4. 실행
psmt3.executeUpdate();
5. db 연결 해제
jdbc.close();
인파라미터 설정 시에는 데이터 타입에 맞는 set 메서드 사용
- void setInt(int index, int value)
- void setDate(int index, Date value) 날짜는 date, string 둘 다 가능하다
- void setString(int index, String value)
반응형
'jsp' 카테고리의 다른 글
onsubmit (0) | 2022.11.28 |
---|---|
session (0) | 2022.11.28 |
커넥션 풀(Connection Pool) (0) | 2022.11.25 |
ojdbc6.jar (0) | 2022.11.25 |
메서드 (0) | 2022.11.24 |