[JSP/Servlet] JDBC -1/2

데이터베이스를 JAVA 에서 사용하기 위해서는 DB와 연결할 수 있는 도구가 필요하다.

JAVA에서 데이터베이스를 사용하기 위해 사용되는 도구는 JDBC(JAVA DataBase Connectivity)로, JAVA 프로그램에서 데이터베이스에 일관된 방법으로 접근할 수 있도록 API를 제공하는 클래스의 집합이다.

JDBC를 이용하여 SQL문을 사용하기 위한 절차는 다음과 같다.

1. JDBC 드라이버 로드

2. 데이터 베이스 연결

3. SQL 문 실행

4. 데이터베이스와 연결 해제


위의 절차를 수행하기 위해서는 사전 준비가 필요하다.

1. Oracle 데이터베이스의 설치(sqlplus)

2. JDBC 라이브러리


※설치한 oracle DB 의 파일에 포함되어 있음






3. java.sql 라이브러리 임포트

※java.sql.* 사용시 sql의 모든 라이브러리 사용을 뜻함




java에서 sql문을 사용하기 위한 절차와 필요한 메소드는 다음과 같다.

1. JDBC 드라이버 로드 : class.forName("oracle.jdbc.driver.OracleDriver")

2. 데이터 베이스 연결 : DriverManager.getConnection(url,uid,pass)

3. SQL 문 실행

Statement 의 경우 : createStatement(), executeQuery(sql구문)

prepareStatement의 경우 : prepareStatement(sql구문), setString(또는 setInt)(index, value)

4. 데이터베이스와 연결 해제 : close()


※실행 예제-1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <!--jdbc를 사용하기 위한 라이브러리 import-->
<%@page import="java.sql.DriverManager" %>
<%@page import="java.sql.ResultSet" %>
<%@page import="java.sql.Statement" %>
<%@page import="java.sql.Connection" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<%!
Connection conn = null//jdbc connector
Statement stmt = null//sql 실행 객체
ResultSet rs = null//sql 실행 후 값
 
String url = "jdbc:oracle:thin:@localhost:1521:데이터베이스 이름"//접속할 데이터베이스
String uid = "계정명";
String pass= "비밀번호";
String sql = "select * from member"// 실행 구문
 
%>
<body>
<table width='800' border='1'>
    <tr>
        <th>이름</th><th>아이디</th><th>암호</th><th>이메일</th>
        <th>전화번호</th><th>권한(1:관리자, 0:일반회원)</th>
    <tr>
    <%
        try{
            Class.forName("oracle.jdbc.driver.OracleDriver"); //1.jdbc 드라이버 로드
            conn = DriverManager.getConnection(url,uid,pass); //2.데이터베이스 연결
            stmt = conn.createStatement(); //sql 실행 객체 생성
            rs=stmt.executeQuery(sql); //3.sql 문 실행
            while(rs.next()){ //select 로 검색된 모든 값을 출력
                out.println("<tr>");
                
                out.println("<td>"+rs.getString("name")+"</td>");
                out.println("<td>"+rs.getString("userid")+"</td>");
                out.println("<td>"+rs.getString("pwd")+"</td>");
                out.println("<td>"+rs.getString("email")+"</td>");
                out.println("<td>"+rs.getString("phone")+"</td>");
                out.println("<td>"+rs.getInt("admin")+"</td>");
                
                out.println("</tr>");
            }
            
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            //4.연결 해제
            try{
            if(rs != null) rs.close(); 
            if(stmt != null) stmt.close();
            if(conn != null) conn.close();
            
            }catch(Exception e){
                e.printStackTrace();
            }
            
        }
    
    %>
</table>
</body>
</html>
cs


댓글