데이터베이스를 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 |
댓글
댓글 쓰기