IT story/JSP

D+29 JDBC(Java DATABASE Connection, DELETE)

jason719 2016. 9. 26. 22:06

2016. 09. 21. (Wed) 스물아홉 번째 수업!

수업내용

이클립스로 MySQL 서버 DB 맴버를 삭제하기( DELETE)

(MemberDelete class를 생성하고,  updateForm에 삭제하기 버튼을 추가해준다)


1. MemberDelete 클래스 생성! 


 이번 수업은 의외로 간단하다. 삭제할 사용자를 선택하는 것은 이전 시간에 했던 업데이트 수업가 동일하기 때문에

삭제할 사용자를 선택하고 수정버튼을 눌러서 updateForm에 넘어왔을 때, 삭제하기 버튼을 만들어

MemberDelete 클래스를 통해 삭제를 진행한다.

아래의 예제를 살펴보자

package com.javalesson.source;


import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


@WebServlet("/MemberDelete")

public class MemberDelete extends HttpServlet {

String url = "jdbc:mysql://localhost:3306/JAVA_LESSON?useUnicode=true&characterEncoding=utf8";

String uid = "root";

String upw = "mysql"; //cmd mysql -uroot -pmysql

    

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

Connection conn = null;

PreparedStatement pstmt = null;

String sql = "DELETE FROM MEMBER WHERE num=?";

int num = Integer.parseInt(req.getParameter("num"));

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection(url,uid,upw);

pstmt = conn.prepareStatement(sql);

pstmt.setInt(1, num);

int insert = pstmt.executeUpdate(); //INSERT, UPDATE or DELETE

if(insert>0){

resp.sendRedirect("./MemberList"); //해당 page로 이동 (아래와 같은 방법)

}else{

resp.sendRedirect("./updateForm.jsp");

}

} catch (Exception e){e.printStackTrace();

}finally{

try {

if(pstmt!=null){pstmt.close();}

if(conn!=null){conn.close();}

} catch (Exception e){e.printStackTrace();

}

}

}

}


이번 클래스도 마찬가지로 add, list, update와 같이 MySQL서버와 통신하는 것과 SQL문이 사용 되는 것을 알수있다!!

갱신하거나 추가 입력하는 것이 아니기 때문에 간단하게 삭제가 진행된다. 


2. updateForm에 삭제버튼 추가 

   아래의 코드로 삭제하기 버튼을 추가할 것이다.  위치는 제출 버튼 다음 행에 입력하면 된다. 

a action을 이용하여 삭제하기 버튼이 클릭되면 MemberDelete로 이동 되는 것이다.

<a href="./MemberDelete?num=<%=vo.getNum() %>" class="btn-delete">삭제하기</a>


출력내용은 아래와 같다.


삭제하기 완료!!