728x90
6. 데이터베이스 연결
update
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp3/update.jsp</title>
</head>
<body>
<h1>jsp3/update.jsp</h1>
<h1>학생수정화면</h1>
<form action="updatePro.jsp" method="get">
학생번호 : <input type="text" name="num"><br>
학생이름: <input type="text" name="name"><br>
<input type="submit" value="학생정보수정"><br>
</form>
</body>
</html>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp3/updatePro.jsp</title>
</head>
<body>
<%
//utf-8 설정
request.setCharacterEncoding("utf-8");
//사용자가 입력한 정보를 http가 들고 서버에 전달 → 서버에 request 내장 객체 저장
int num = Integer.parseInt(request.getParameter("num"));
String name = request.getParameter("name");
// 1단계 : Driver.class 파일 불러오기
Class.forName("com.mysql.cj.jdbc.Driver");
// 2단계 : DB연결정보 저장
String dbUrl = "jdbc:mysql://localhost:3306/jspdb?serverTimezone=Asia/Seoul";
String dbUser = "root";
String dbPw = "1234";
Connection con = DriverManager.getConnection(dbUrl, dbUser, dbPw);
// 3단계 : 연결정보를 이용해서 sql구문 update 테이블 set 수정할열이름 = 수정값 where 조건열이름=값;
// 값자리에는 ?표로 하기
String sql = "update student set name=? where num=?";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setInt(2, num);
pstmt.setString(1, name);
// 4단계 SQL 구문 실행
pstmt.executeUpdate();
// 5단계 : 결과를 이용하여 출력
%>
학생정보수정성공 <%=pstmt %>
</body>
</html>
delete
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp3/delete.jsp</title>
</head>
<body>
<h1>학생정보삭제화면</h1>
<form action="deletePro.jsp" method="get">
학생번호 : <input type="text" name="num"><br>
학생이름: <input type="text" name="name"><br>
<input type="submit" value="학생정보삭제"><br>
</body>
</html>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="com.mysql.cj.xdevapi.PreparableStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp3/deletePro.jsp</title>
</head>
<body>
<!-- 번호와 이름이 같을 때 삭제 -->
<%
request.setCharacterEncoding("utf-8");
int num = Integer.parseInt(request.getParameter("num"));
String name = request.getParameter("name");
//1단계 Driver.class 파일 불러오기
Class.forName("com.mysql.cj.jdbc.Driver");
//2단계 불러온 파일을 이용해서 DB연결
String dbUrl="jdbc:mysql://localhost:3306/jspdb?serverTimezone=Asia/Seoul";
String dbUser = "root";
String dbPw = "1234";
Connection con = DriverManager.getConnection(dbUrl, dbUser, dbPw);
//3단계 연결 정보를 이용해 SQL 구문을 만들고 실행할 수 있는 객체 생성
String sql = "delete from student where num=? and name=?";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setInt(1, num);
pstmt.setString(2, name);
//4단계 SQL문 실행
pstmt.executeUpdate();
%>
학생정보삭제성공 <%=pstmt %>
</body>
</html>
select 결과값이 있음.
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp3/select.jsp</title>
</head>
<body>
<h1>jsp3/select.jsp</h1>
<%
//1단계 Driver.class 파일 불러오기
Class.forName("com.mysql.cj.jdbc.Driver");
//2단계 불러온 파일을 이용해서 DB연결
String dbUrl ="jdbc:mysql://localhost:3306/jspdb?serverTimezone=Asia/Seoul";
String dbUser = "root";
String dbPw = "1234";
Connection con = DriverManager.getConnection(dbUrl, dbUser, dbPw);
//3단계 연결 정보를 이용해 SQL 구문을 만들고 실행할 수 있는 객체 생성
String sql = "select * from student";
PreparedStatement pstmt = con.prepareStatement(sql);
//4단계 sql구문 실행 → 실행 후 결과 저장(select) → ResultSet 내장객체 저장
ResultSet rs = pstmt.executeQuery();
//import="java.sql.ResultSet"
//ResultSet : SQL구문 실행한 결과를 저장하는 내장객체
//5단계 결과를 이용해서 출력, 다른 곳에 저장(select)
// out.println(rs.next()+"<br>");
// out.println(rs.next()+"<br>");
// out.println(rs.next()+"<br>");
// out.println(rs.next()+"<br>");
// out.println(rs.next()+"<br>");
// while 처음과 끝을 모를때 사용, for 처음과 끝을 알 때 사용
// while(rs.next()==true){
// //다음 행 rs.next() true이면 데이터 있음 → 열을 정급
// out.println("다음행에 데이터가 있음 → 열 접근 = ");
// out.println("num : " + rs.getInt("num")+ " / ");
// out.println("name : " + rs.getString("name"));
// out.print("<br>");
// }
// out.println("다음행에 데이터가 없음 → 반복문 종료");
// while(rs.next()){
// out.println(rs.getInt("num"));
// out.println(" , ");
// out.println(rs.getString("name"));
// out.println("<br>");
// }
// 커서를 다음행으로 이동 next, 처음행으로 이동 fist, 마지막행으로 이동 last, 이전 행으로 이동 previous
// → return 값 데이터가 있으면 true, 없으면 false
%>
<table border="1">
<tr><td>num</td><td>name</td></tr>
<%
while(rs.next()){
%><tr><td><%=rs.getInt("num") %></td><td><%=rs.getString("name") %></td></tr><%
}
%>
</table>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp3/selectForm.jsp</title>
</head>
<body>
<h1>학생 정보 조회</h1>
<form action="selectPro.jsp" method="get">
학생번호 : <input type="text" name="num"><br>
<input type="submit" value="학생정보조회"><br>
</form>
</body>
</html>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp3/selectPro.jsp</title>
</head>
<body>
<h1>학생 정보 조회</h1>
<%
int num = Integer.parseInt(request.getParameter("num"));
//1단계 Driver.class 파일 불러오기
Class.forName("com.mysql.cj.jdbc.Driver");
//2단계 불러온 파일을 이용해서 DB연결
String dbUrl ="jdbc:mysql://localhost:3306/jspdb?serverTimezone=Asia/Seoul";
String dbUser = "root";
String dbPw = "1234";
Connection con = DriverManager.getConnection(dbUrl, dbUser, dbPw);
// 3단계 연결정보를 이용해서 SQL구문을 만들고 실행할 수 있는 객체생성
// select * from 테이블이름 where 조건열=값;
PreparedStatement pstmt = con.prepareStatement("select * from student where num=?");
pstmt.setInt(1, num);
// 4단계 SQL 구문 실행 → 실행 후 결과 저장(select) → ResultSet 내장객체 저장
ResultSet rs = pstmt.executeQuery();
// 5단계 결과를 이용해서 출력, 다른 곳에 저장(select)
// if, while 커서를 다음행 이동 → 리턴값 데이터가 있으면 true → 열 접근 출력
// 없으면 false → 조건문을 빠져나옴
//num값을 받고, 조건=num값
%>
<table border="1">
<tr><td>num</td><td>name</td></tr>
<%
if(rs.next()){%>
<tr><td><%=rs.getInt("num") %></td><td><%=rs.getString("name") %></td></tr><%
}%>
</table>
</body>
</html>
728x90
'KDT > WEB' 카테고리의 다른 글
231214 WEB - JSP11(데이터베이스 연결) (0) | 2023.12.14 |
---|---|
231212 WEB - JSP10(데이터베이스 연결) (0) | 2023.12.12 |
231208 WEB - JSP8(데이터베이스 연결) (0) | 2023.12.08 |
231207 WEB - JSP7(쿠키) (0) | 2023.12.07 |
231205 WEB - JSP6(객체 범위, 액션태그, 쿠키) (0) | 2023.12.05 |