JDBC 프로그래밍 방법은 다음과 같다.
순서대로 어떤 작업들이 이루어지는지 확인하고 이해하도록 하자.
- JDBC 드라이버 로딩 -> Connection 맺기 -> SQL 실행 -> (select문을 사용했다면 ResultSet 이용한 처리) -> 자원반환
JDBC 드라이버 로딩
1 2 3 4 5 | //MySQL Class.forName("com.mysql.jdbc.Driver"); //Oracle Class.forName("oracle.jdbc.driver.OracleDriver"); | cs |
Connection 맺기
1 2 3 4 5 6 7 8 9 10 | //URL = 데이터베이스명을 포함한 URL //ID = 사용자 계정 //PASSWORD = 사용자 비밀번호 conn = DriverManager.getConnection(URL,ID,PASSWORD); //MySQL conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcTest","jspid","jsppass"); //Oracle conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE", "scott", "tiger"); | cs |
SQL 실행
1 2 3 4 5 6 7 8 9 | //공통 PreparedStatement pstmt = null; //PreparedStatement 객체 준비 String sql = "insert into member1 values(?,?,?,?)"; //쿼리문 준비 pstmt = conn.prepareStatement(sql); //prepareStatement로 sql을 미리 컴파일 pstmt.setString(1,"id"); pstmt.setString(2,"passwd"); pstmt.setString(3,"홍길동"); pstmt.setTimestamp(4, new Timestamp(System.currentTimeMillis())); //현재 날짜와 시간 | cs |
(SELECT문을 사용했다면 ResultSet을 이용해 처리)
1 2 3 4 5 6 7 8 9 10 11 12 | //ResultSet ResultSet rs = pstmt.executeQuery(); String tag = ""; while( rs.next() ) { tag += "<tr>"; tag += "<td>" + rs.getString("id") + "</td>"; tag += "<td>" + rs.getString("passwd") + "</td>"; tag += "<td>" + rs.getString("name") + "</td>"; tag += "<td>" + rs.getString("reg_date") + "</td>"; tag += "</tr>"; } rs.close(); | cs |
자원 반환
1 2 3 4 5 6 7 | //자원 반환 // ResultSet를 닫는다. rs.close(); // Statement를 닫는다. stmt.close(); // Connection를 닫는다. conn.close(); | cs |
Oracle에서 JSP 사용 예제
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 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="java.sql.*"%> <%@page import="java.util.List"%> <% String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/basicjsp"; String dbuid = "jspid"; String dbpwd = "jsppass"; Class.forName(driver); Connection conn = DriverManager.getConnection(url, dbuid, dbpwd); String sql = "select * from member"; PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); String tag = ""; while( rs.next() ) { tag += "<tr>"; tag += "<td>" + rs.getString("id") + "</td>"; tag += "<td>" + rs.getString("passwd") + "</td>"; tag += "<td>" + rs.getString("name") + "</td>"; tag += "<td>" + rs.getString("reg_date") + "</td>"; tag += "</tr>"; } rs.close(); pstmt.close(); conn.close(); %> | cs |
Java 은행 예제
참고 자료 - http://www.java-school.net/jdbc/JDBC-Intro
관련 포스팅
JDBC(Java Database Connectivity) - 자바 라이브러리
'Datebase' 카테고리의 다른 글
쿠키(Cookie)와 세션(Session) - JSP (0) | 2018.01.31 |
---|---|
MySQL 한글 깨짐 현상 해결하기(UTF8 기본값 설정하기) (0) | 2018.01.30 |
MySQL 무설치 버전 설치하기 - Window (0) | 2018.01.26 |
SQL문 - DDL(Data Definition Language) (1) | 2018.01.25 |
SQL 문법 - SELECT 문 (0) | 2018.01.24 |