-
java와 데이터베이스가 서로 통신할 때 사용하는 것이 JDBC이다.
즉, client와 JSP, Servlet 그리고 Database의 서로 간의 요청과 응답을 주고 받는 것이 전체적인 그림인데,
여기서 JSP, Servlet과 Datebase가 서로 정보를 주고 받을 때 사용하는 것이 JDBC 인 것이다.
JDBC의 실행 순서는 다음과 같다. (JDBC는 연결과정에서 오류가 날 수 있기에 try문에 적어놓는다)
1. OracleDriver를 메모리에서 로딩하는 단계 즉, 드라이버 로딩 단계
class.forName(드라이버명); 메모리에 드라이버가 저장되었다는 의미다.
2. Java와 Oracle을 연결하는 즉, Connetion 연결 단계
connection = DriverManager.getConnection(url, id, pw);
3. query를 전송하는 객체를 만드는 단계 즉, Statement 단계
state = connection.createStatement();
4. query를 직접 작성하는 단계 즉, query문 단계
String sql = "SELECT * FROM book";
5. 작성한 query를 직접 전송하는 run 단계 즉, run 단계가 있다.
res= state.executeQuery(sql);
PreparedStatement의 경우에는 메모리에 드라이버 서버를 로딩하고 연결하는 것까지는 같지만
statement 즉, 객체와 query문의 위치가 바뀌어 실행된다.
왜냐하면 query문이 번잡할 수 있기에 query문을 물음표를 사용해서 먼저 표시하고
PreparedStatement를 그 다음에 선언하는 것이다.
1. Driver loading class.forName(driver);
2. connection = DriverManager.getConnection(url, id, pw);
3. 여기서 query문을 먼저 써주는데 방식이 독특하다.
String sql = "UPDATE A SET A loc = ? WHERE A_name=?"
으로 물음표를 2개 사용한다.
4. PreparedStatement
pstmt = con.prepareStatement(sql);
pstmt.setString(1,"0000001")
pstmt.setString(2,"A8");
5. run
int n = pstmt.executeUpdate()로 실행한다.
'JSP&스프링 > JSP 키포인트' 카테고리의 다른 글
[JSP] Connection Pool의 정의와 기본적인 설정 및 구현 방법 정리하기 (0) 2023.01.22 [JSP] DAO 와 DTO의 정의와 Servlet, DAO, DTO간의 관계 정의하기 (0) 2023.01.22 [JSP] JSP의 중요 내장 객체(config, application, out, exception)들 정리하기 (0) 2023.01.20 [JSP] JSP의 요청과 응답에 해당하는 내장객체 request & response 개념과 예시문 정리하기 (0) 2023.01.20 [JSP] JSP의 주요 스크립트의 종류와 예시문 정리하기 (0) 2023.01.20 댓글