드라이버를 로그하고 sql문 분석하고 sql문을 실행한후 select를 할것이기때문에executeQuery 를 사용해 데이터를 읽고 Resultset을 이용해 저장된 데이터들을 가져온다 가져온값들을 td안에 하나하나 넣어주는 코드이
실행결과
insert.jsp
<%@page import="java.sql.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
insertProc.jsp<br>
<%
String id = request.getParameter("id");
String passwd = request.getParameter("passwd");
String name = request.getParameter("name");
long time = System.currentTimeMillis(); //실행한 현재 시간정보
Timestamp register = new Timestamp(time); //숫자를 날짜형태로 변환
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String dbId = "sqlid";
String dbPw = "sqlpw";
Connection conn = null;
PreparedStatement ps = null;
try{
Class.forName(driver);
conn = DriverManager.getConnection(url,dbId,dbPw);
String sql = "insert into member values(?,?,?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1, id);
ps.setString(2, passwd);
ps.setString(3, name);
ps.setTimestamp(4, register);
ps.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}
%>
코드설명
form에서 데이터를 넣어서 submut으로 보내면request로 값을 가져오고 db를 연결해준다 sql문의 ?의경우 아래 setString에서 ps.setString(순서,넣을데이터)이기때문에 ?에 넣을값들을 대입해주고 데이터를 삽입하는 코드이기때문에 select에서 썻던 executeQuery말고 Update를 사용하여 데이터를 추가해준다
update와 delete의 경우 비슷한데 바로 update나 delete를 하는것이 아닌 먼저 select로 검색을 한후에 update나 delete를 시도한다는 것이다 그래서 두가지의 sql문을 사용하는데 첫번째는 select를 사용하기 때문에 executeQuery를 사용하고 update나 delete의 경우 데이터를 관리하는것이기때문에 executeUpdate를 사용한다 rs.next의 경우 한줄한줄 읽겠다는 뜻으로 애초에 if문을 사용해 id가 일치하지 않는다면 rs.next안으로 들어갈수 없게 작성했다 후에 request로 가져온 passwd와 읽은 id에서 가져온 passwd를 가져와 equals문을 이용해 비교하였다
delete의 경우에는 <meta http-equiv="refresh" content="0; url=select.jsp">를 사용해 삭제하기 버튼을 누르면 발로 테이블이 있는 select.jsp로 이동하게 설정했다