[목차]
01. select 쿼리로 회원 수정 화면
💡
1️⃣ 수정버튼 클릭 시 해당 회원의 아이디를 불러온다.
<jdbc 프로그램 실행>
2️⃣ 객체 생성 단계에서 select 쿼리 사용 (SELECT 컬럼명 FROM 테이블명 WHERE 조건)
3️⃣ 불러온 회원 아이디를 쿼리에 넣어준다.
4️⃣ 쿼리 실행 후 실행결과를 사용한다.
5️⃣ 수정화면 폼을 만들고 value값에 쿼리 실행 결과를 넣어준다.
[코드예제] user_update_form.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <%@ page import = "java.sql.DriverManager" %> <%@ page import = "java.sql.Connection" %> <%@ page import = "java.sql.PreparedStatement" %> <%@ page import = "java.sql.ResultSet" %> <%@ page import = "java.sql.SQLException" %> <% String send_id = request.getParameter("send_id"); String dbid = null; String dbpw = null; String dblevel = null; String dbname = null; String dbemail = null; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; // 1단계 : 드라이버 로딩 Class.forName("com.mysql.jdbc.Driver"); try { // 2단계 : DB연결 String jdbcDriver = "jdbc:mysql://localhost:3306/dbhooni?" + "useUnicode=true&characterEncoding=euckr"; String dbUser = "idhooni"; String dbPass = "pwhooni"; conn = DriverManager.getConnection(jdbcDriver, dbUser, dbPass); // 3단계 : 쿼리 실행을 위한 객체 생성 pstmt = conn.prepareStatement("SELECT * FROM tb_user WHERE u_id=?"); pstmt.setString(1, send_id); // 4단계 : 쿼리 실행 rs = pstmt.executeQuery(); // 5단계 : 쿼리 실행결과 사용 while(rs.next()) { dbid = rs.getString("u_id"); dbpw = rs.getString("u_pw"); dblevel = rs.getString("u_level"); dbname = rs.getString("u_name"); dbemail = rs.getString("u_email"); } } catch(SQLException ex) { out.println(ex.getMessage()); ex.printStackTrace(); } finally { // 6. 사용한 Statement 종료 if (rs != null) try { rs.close(); } catch(SQLException ex) {} if (pstmt != null) try { pstmt.close(); } catch(SQLException ex) {} // 7. 커넥션 종료 if (conn != null) try { conn.close(); } catch(SQLException ex) {} } %> <h2>수정화면</h2> <form action="<%= request.getContextPath() %>/userupdate/user_update_action.jsp" method="post"> <table border="1"> <tr> <td>아이디</td> <td><input type="text" name="u_id" value="<%= dbid %>" readonly></td> </tr> <tr> <td>비밀번호</td> <td><input type="text" name="u_pw" value="<%= dbpw %>"></td> </tr> <tr> <td>권한</td> <td><input type="text" name="u_level" value="<%= dblevel %>"></td> </tr> <tr> <td>이름</td> <td><input type="text" name="u_name" value="<%= dbname %>"></td> </tr> <tr> <td>이메일</td> <td><input type="text" name="u_email" value="<%= dbemail %>"></td> </tr> <tr> <td colspan="2"><input type="submit" value="수정버튼"></td> </tr> </table> </form>
02. update 쿼리로 회원 수정 처리
💡
1️⃣ 수정 화면 폼에서 데이터 값을 받아온다.
<jdbc 프로그램 실행>
2️⃣ 객체 생성 단계에서 update 쿼리 사용 (UPDATE 테이블명 SET 컬럼명=”값” WHERE 조건)
3️⃣ 받아온 데이터 값을 쿼리에 넣어준다.
4️⃣ 쿼리 실행 (실행결과 사용 생략)
[코드예제] user_update_action.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <%@ page import = "java.sql.DriverManager" %> <%@ page import = "java.sql.Connection" %> <%@ page import = "java.sql.PreparedStatement" %> <%@ page import = "java.sql.SQLException" %> <% request.setCharacterEncoding("euc-kr"); String id = request.getParameter("u_id"); String pw = request.getParameter("u_pw"); String level = request.getParameter("u_level"); String name = request.getParameter("u_name"); String email = request.getParameter("u_email"); // 1단계 : 드라이버 로딩 Class.forName("com.mysql.jdbc.Driver"); Connection conn = null; PreparedStatement pstmt = null; try { // 2단계 : DB연결 String jdbcDriver = "jdbc:mysql://localhost:3306/dbhooni?" + "useUnicode=true&characterEncoding=euckr"; String dbUser = "idhooni"; String dbPass = "pwhooni"; conn = DriverManager.getConnection(jdbcDriver, dbUser, dbPass); // 3단계 : 쿼리 실행을 위한 객체 생성 pstmt = conn.prepareStatement("UPDATE tb_user SET u_pw=?, u_level=?, u_name=?, u_email=? WHERE u_id=?"); pstmt.setString(1, pw); pstmt.setString(2, level); pstmt.setString(3, name); pstmt.setString(4, email); pstmt.setString(5, id); System.out.println(pstmt); // 4단계 : 쿼리 실행 (1이 출력되면 정상) int result = pstmt.executeUpdate(); System.out.println(result); // 5단계 : 쿼리 실행 결과 사용(생략가능) } catch(SQLException ex) { out.println(ex.getMessage()); ex.printStackTrace(); } finally { // 6. 사용한 Statement 종료 if (pstmt != null) try { pstmt.close(); } catch(SQLException ex) {} // 7. 커넥션 종료 if (conn != null) try { conn.close(); } catch(SQLException ex) {} } %>
03. delete 쿼리로 회원 삭제 처리
💡
1️⃣ 삭제버튼 클릭 시 해당 회원의 아이디를 불러온다.
<jdbc 프로그램 실행>
2️⃣ 객체 생성 단계에서 delete 쿼리 사용 (DELETE FROM 테이블명 WHERE 조건)
3️⃣ 불러온 회원 아이디를 쿼리에 넣어준다.
4️⃣ 쿼리 실행 (실행결과 사용 생략)
[코드예제] user_delete_action.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <%@ page import = "java.sql.DriverManager" %> <%@ page import = "java.sql.Connection" %> <%@ page import = "java.sql.PreparedStatement" %> <%@ page import = "java.sql.SQLException" %> <% String send_id = request.getParameter("send_id"); //1단계 : 드라이버 로딩 Class.forName("com.mysql.jdbc.Driver"); Connection conn = null; PreparedStatement pstmt = null; try { // 2단계 : DB연결 String jdbcDriver = "jdbc:mysql://localhost:3306/dbhooni?" + "useUnicode=true&characterEncoding=euckr"; String dbUser = "idhooni"; String dbPass = "pwhooni"; conn = DriverManager.getConnection(jdbcDriver, dbUser, dbPass); // 3단계 : 쿼리 실행을 위한 객체 생성 pstmt = conn.prepareStatement("DELETE FROM tb_user WHERE u_id=?"); pstmt.setString(1, send_id); System.out.println(pstmt); // 4단계 : 쿼리 실행 (1이 출력되면 정상) int result = pstmt.executeUpdate(); System.out.println(result); // 5단계 : 쿼리 실행 결과 사용(생략가능) } catch(SQLException ex) { out.println(ex.getMessage()); ex.printStackTrace(); } finally { // 6. 사용한 Statement 종료 if (pstmt != null) try { pstmt.close(); } catch(SQLException ex) {} // 7. 커넥션 종료 if (conn != null) try { conn.close(); } catch(SQLException ex) {} } %>
tag : #mysql #DB #select #update #delete #쿼리 #객체
Uploaded by N2T