데이터베이스 연동 순서
Class.forName(oracle.jdbc.driver.OracleDriver)
Connection 객체 생성
DriverManager.getConnection()
Statement 객체 생성
connection.createStatement()
※ Statement 관련 메서드
executeQuery(): 쿼리문을 사용할 때 결과값이(ResultSet) 생긴다(select문)
executeUpdate(): 테이블의 내용을 수정, 삭제, 삽입할 때 사용(insert, update, delete)
ResultSet 객체로부터 데이터 추출 → ResultSet Close
<%@ page import = "java.sql.*" %>
<%
// 데이터베이스 연동
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String id = "test", pw = "1234";
Connection connect = DriverManager.getConnection(url, id, pw);
String query = "insert into student values(?, ?, ?, ?)";
// 성능 면에서 Statement 객체보다 PreparedStatement 객체가 성능이 더 좋음
PreparedStatement ps = connect.prepareStatement(query);
ps.setString(1, no);
ps.setString(2, name);
ps.setString(3, pwd);
ps.setString(4, hp);
int n = ps.executeUpdate();
// prepareStatement 메서드의 리턴 값
// 0보다 큰 값은 insert, update, delete한 row의 수를 리턴
// 0인 경우 리턴값이 없다(수정된 row가 없다)
if (n > 0) {
%>
<script>
alert("등록 완료")
</script>
<%
} else {
%>
<script>
alert("등록 실패")
</script>
<%
}
// resource 반납
ps.close();
connect.close();
%>