JSP에서 DB 연동하기_ delete(삭제) /update(수정)/ select(조회)/ insert(삽입)
JSP에서 DB과 연동해서
delete /update/ select/ insert 작업을 어떻게 하는 걸까?
create table/desc table/show table
update/delete/insert
select, order by
자, 이제부터 이클립스에서 작업을 해보자!!!!!
JSP에서 DB 연동_ insert
- 정리를 해보면 -
** 폼에서 입력받은 이름과 번호를 받아와야 하기 때문에 request.getParameter 하기**
String snum=request.getParameter("num");
String name=request.getParameter("name");
** 여기서 request.getParameter로 받아올 때 String 문자열 타입이라
문자를 숫자로 바꿔주는 Integer.parseInt 처리해 줘야 함!! **
int num=Integer.parseInt(snum);
1단계> 드라이버 불러오기
Class.forName("com.mysql.jdbc.Driver");
2단계> 디비 연결=> 연결 정보 저장
String dbUrl ="jdbc:mysql://localhost:3306/jspdb5";
String dbUser="root";
String dbPass="(자기 비밀번호)";
Connection con=DriverManager.getConnection(dbUrl,dbUser,dbPass);
3단계> 연결 정보를 이용해서 sql 구문 만들고 실행할 객체 생성
(**PreparedStatement는 자바에서 제공하는 객체)
String sql="insert into student(num, name) values(?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt 변수에 값을 지정하기 위해서
pstmt.setInt(1, num);
pstmt.setString(2, name);
4단계> 객체 실행(sql 구문)
pstmt.executeUpdate( );
학생 등록 성공 <%=pstmt %>
JSP에서 DB 연동_ update
- 정리를 해보면 -
** 폼에서 입력받은 이름과 번호를 받아와야 하기 때문에 request.getParameter 하기**
String snum=request.getParameter("num");
String name=request.getParameter("name");
** 여기서 request.getParameter로 받아올 때 String 문자열 타입이라
문자를 숫자로 바꿔주는 Integer.parseInt 처리해 줘야 함!! **
int num=Integer.parseInt(snum);
1단계> 드라이버 불러오기
Class.forName("com.mysql.jdbc.Driver");
2단계> 디비 연결=> 연결 정보 저장
String dbUrl ="jdbc:mysql://localhost:3306/jspdb5";
String dbUser="root";
String dbPass="(자기 비밀번호)";
Connection con=DriverManager.getConnection(dbUrl, dbUser, dbPass);
3단계> 연결 정보를 이용해서 sql 구문 만들고 실행할 객체 생성
(**PreparedStatement는 자바에서 제공하는 객체)
(sql update 테이블 이름 set 이름 수정 where 조건)
String sql="update student set name=? where num=?"
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt 변수에 값을 지정하기 위해서
pstmt.setInt(1, num);
pstmt.setString(2, name);
4단계> 객체 실행(sql 구문)
pstmt.executeUpdate( );
학생 이름 수정 성공 <%=pstmt%>
JSP에서 DB 연동_ delete
- 정리를 해보면 -
** 폼에서 입력받은 이름과 번호를 받아와야 하기 때문에 request.getParameter 하기**
String snum=request.getParameter("num");
String name=request.getParameter("name");
** 여기서 request.getParameter로 받아올 때 String문자열 타입이라
문자를 숫자로 바꿔주는 Integer.parseInt 처리해 줘야 함!! **
int num=Integer.parseInt(snum);
1단계> 드라이버 불러오기
Class.forName("com.mysql.jdbc.Driver");
2단계> 디비 연결=> 연결 정보 저장
String dbUrl ="jdbc:mysql://localhost:3306/jspdb5";
String dbUser="root";
String dbPass="(자기 비밀번호)";
Connection con=DriverManager.getConnection(dbUrl, dbUser, dbPass);
3단계> 연결 정보를 이용해서 sql 구문 만들고 실행할 객체 생성
(**PreparedStatement는 자바에서 제공하는 객체)
String sql="delete from student where num=? and name=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt 변수에 값을 지정하기 위해서
pstmt.setInt(1, num);
pstmt.setString(2, name);
4단계> 객체 실행(sql 구문)
pstmt.executeUpdate( );
학생 이름 삭제 <%=pstmt %>
학생 번호 삭제<%=pstmt %>
JSP에서 DB 연동_ select
- 정리를 해보면 -
** 폼에서 입력받은 이름과 번호를 받아와야 하기 때문에 request.getParameter 하기**
String snum=request.getParameter("num");
String name=request.getParameter("name");
** 여기서 request.getParameter로 받아올 때 String문자열 타입이라
문자를 숫자로 바꿔주는 Integer.parseInt 처리해 줘야 함!! **
int num=Integer.parseInt(snum);
1단계> 드라이버 불러오기
Class.forName("com.mysql.jdbc.Driver");
2단계> 디비 연결=> 연결 정보 저장
String dbUrl ="jdbc:mysql://localhost:3306/jspdb5";
String dbUser="root";
String dbPass="(자기 비밀번호)";
Connection con=DriverManager.getConnection(dbUrl, dbUser, dbPass);
3단계> 연결 정보를 이용해서 sql 구문 만들고 실행할 객체 생성
(**PreparedStatement는 자바에서 제공하는 객체)
String sql="select * from student";
PreparedStatement pstmt=con.prepareStatement(sql);
4단계 실행 결과 => ResultSet rs(결괏값 저장하는 내장 객체)
ResultSet rs=pstmt.executeQuery( );
5단계 rs 내용을 table 태그로 출력
<table border="1">
<tr><td> 학생 번호 </td><td> 학생 이름 </td></tr>
<% while(rs.next()){
%><tr><td><%=rs.getInt("num") %></td><td><%=rs.getString("name") %></td></tr>)<%
}%>
(자바에서 인덱스는 무조건 0으로 시작하는데
데이터베이스에서 인덱스는 1부터 시작한다)
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한 게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!