새로운 회원 정보의 데이터베이스에 저장하는 방법
public int executeUpdate(java.lang.String sql);
단점:
고정된 값만 저장할 수 있음.
여러 행일 경우 문장을 여러 개 사용해야 함.
데이터 저장과 PreparedStatement
PreparedStatement 객체의 생성은 Connection 인터페이스의 preparedStatement() 메소드를 호출함.
PreparedStatement pstmt = conn.prepareStatement(sql);
매개변수:
sql은 컬럼에 추가할 값을 직접 지정하지 않고 ?로 표시
<예>
String sql = “insert into member values(?, ?, ?, ?, ?, ?)”; (? => 바인드 변수)
바인드 변수에 값 설정
setString(int 컬럼순서, 실제 값 또는 변수);
setInt(int 컬럼순서, 실제 값 또는 변수);
<예>
pstmt.setString(1, name);
pstmt.setString(2, userid);
.......
?의 위치에 알맞은 데이터를 빠짐없이 설정해 주어야 한다.
PreparedStatement는 연결 객체에서 미리 Query문을 전달해 주었기 때문에 executeUpdate() 메소드만 호출함.
사용이 끝나면 close()를 호출하여 PreparedStatement 객체 변수 해제.
pstmt.executeUpdate();
pstmt.close();
PreparedStatement는 SQL문의 종류에 따라
select문이면 executeQuery() 메소드를 호출하고
insert, update, delete문이면 executeUpdate() 메소드를 호출
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.DriverManager"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.Statement"%>
<%@ page import="java.sql.PreparedStatement" %>
<%!// 변수 선언
Connection conn = null;
Statement stmt = null;
PreparedStatement pstmt = null;
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String uid = "ora_user";
String pass = "ora123";
String name = "홍길동";
String userid = "kdhong";
String pwd = "1234";
String email = "kdhong@email.com";
String phone = "010-3324-2322";
int admin = 0;
String sql = "insert into member values(?, ?, ?, ?, ?, ?)";%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, uid, pass);
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, userid);
pstmt.setString(3, pwd);
pstmt.setString(4, email);
pstmt.setString(5, phone);
pstmt.setInt(6, admin);
pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (pstmt != null){pstmt.close();}
if (conn != null){conn.close();}
} catch (Exception e) {
e.printStackTrace();
}
}
%>
<h3>회원 가입 성공</h3>
<a href="01_allmember2.jsp">회원 목록 보기</a>
</body>
</html>
01_allmember2.jsp는 앞에서 만든 페이지로, 데이터들을 테이블로 보여주는 페이지 입니다.
'JSP, Servlet > JSP, Oracle 기초' 카테고리의 다른 글
[JSP] DBCP 소개 (0) | 2020.08.18 |
---|---|
[JSP] 상품정보 입력 후 출력(fmt태그 사용) (0) | 2020.08.18 |
[JSP] 사원정보 입력 후 테이블 형태로 출력 (0) | 2020.08.18 |
[JSP] 오라클 DB에 데이터 저장하기 실습 (0) | 2020.08.14 |
[JSP] 오라클 DB에 저장되어있는 데이터 불러오기 (0) | 2020.08.14 |