jdbc_ connect_test

Mia Lee·2021년 12월 25일
0

JSP

목록 보기
16/22
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>jdbc_connect_test_2.jsp</h1>
	<%
	// JDBC 연결 4단계
	// DB 연결에 필요한 정보 문자열(4가지)을 변수에 별도로 저장
	String driver = "com.mysql.jdbc.Driver"; // 드라이버 클래스 위치 및 이름
	String url = "jdbc:mysql://localhost:3306/study_jsp2"; // DB 접속 주소, 포트번호, DB명
	String user = "root"; // DB 접속 계정명
	String password = "1234"; // DB 접속 계정에 대한 패스워드
	
	// 1단계. JDBC 드라이버 로드
	Class.forName(driver);
	
	// 2단계. DB 연결
	Connection con = DriverManager.getConnection(url, user, password);
	%>
	<h1>DB 접속 성공!</h1>
	<h3>Connection 객체 정보 : <%=con %></h3>
	
	<%
	// 3단계. SQL 구문 작성 및 전달
	// - 1단계와 2단계 과정을 통해 DB에 접속된 상태에서 
	// 접속 정보를 관리하는 Connection 타입 객체를 통해 데이터베이스에 접근하여 
	// 작업 수행 가능
	//(반드시 2단계 과정에서 Connection 타입 변수에 객체를 리턴받아 저장되어있는 상태여야함)
	// - Connection 객체의 preparStatement()메서드를 호출하여 SQL구문 전달 작업 수행
	 // => 파라미터 : 실행할 SQL 구문 문자열
	  // => 리턴타입 : java.sql.Prepared Statement
	// 1) SQL 구문 작성
// 	String sql = "CREATE TABLE student (idx INT)"; // 테이블 생성 시
// 	String sql = "DROP TABLE student"; // 테이블 삭제 시
// 	String sql = "INSERT INTO student VALUES (2)"; // 레코드 추가 시
	String sql = "DELETE FROM student"; // 레코드 모두 삭제 시
	
	// 2) Connection 객체(변수 con)의 prepareStatement() 메서드를 호출하여 SQL 구문 전달
	//    => 파라미터 : SQL 구문(변수 sql)    리턴타입 : java.sql.PreparedStatement
	PreparedStatement pstmt = con.prepareStatement(sql);
	%>
	<h1>SQL 구문 전달 완료!</h1>
	
	<%
	// 4단계. SQL 구문 실행 및 결과 처리
	//1) 3단계에서 리턴받은 PreparedStatement객체의 executeXXX()메서드를 호출하여
//	SQL구문 실행
	// => 수행하려는 SQL구문의 종류에 따라 다른 메서드를 호출하며, 리턴타입도 달라짐
	// 1-1) executeUpdate(): DB에 조작을 가하는 (=변경이 발생) 쿼리를 실행하는 용도의 메서드
	// 주로 DML중 INSERT, UPDATE, DELETE나 DDL (CREATE,ALTER,DROP) 을 실행
	// 리턴값으로 int형 값이 리턴되며, 조작 후 영향을 받은 레코드 수 리턴됨
	// 1-2) executeQuery(): SELECT 구문을 싱행하는 용도의 메서드 
 	// 2) 실행 후 리턴받은 결과 값을 사용하여 결과 처리 
	int count = pstmt.executeUpdate();
	%>
	<h1>CREATE 구문 실행 완료 - <%=count %></h1>
</body>
</html>










0개의 댓글