기본적인 JDBC 프로그래밍
JDBC(Java DataBase Connectivity) 개요
- Java에서 제공하는 Database 연동을 도와주는 API
- 표준 SQL Interface
JDBC Driver
- Database와 Java 프로그램 간의 번역기 역할을 함
JDBC 프로그래밍 절차
1. JDBC 인터페이스, 클래스를 위해 java.sql 패키지 import
2. 사용할 DBMS에 대한 JDBC Driver 로드
3. 데이터베이스에 접속
4. Connection으로부터 SQL문 생성
- a. Statement 객체 : 완전한 SQL문을 실행할 때 사용
- b. PreparedStatement 객체 : 특정한 위치에 사용자 지정 값이 들어가야 하는 경우
5. SQL문 실행
- a. Statement 객체 또는 PreparedStatement 객체의 메소드임
- b. PreparedStatement 객체로 생성한 SQL문은 메소드에 sql을 지정해주지 않음
- c. executeQuert(sql) : SELECT문 실행, 검색된 결과 값을 포인터로 ResultSet 클래스에 반환함
- d. executeUpdate() : INSERT, UPDATE, DELETE문을 실행 후 처리된 트랜잭션의 수를 정수형으로 반환함 (CREATE, ALTER, DROP문을 실행할 때도 사용)
6. SQL문 반환 결과 처리
7. 연결 해제
완전한 SQL문이 들어가는 경우의 절차
<@page language="java" contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"
import "java.sql.*"; %> // 1단계, java.sql 패키지 import
<%
// 완전한 SQL문
String sql = "SELECT * FROM Department";
// DB서버 url을 String으로 만들어놓기
String url = "데이터베이스 URL";
try {
// 2단계, JDBC Driver 로드
Class.forName("oracle.jdbc.driver.OracleDriver");
// 3단계, DB서버 연결
Connection con = DriverManager.getConnection(url, "아이디", "비밀번호");
// 4단계, Statement 생성
Statement stmt = con.createStatement();
// 5단계, SELECT문 실행 및 결과 반환
ResultSet rs = stmt.executeQuery(sql);
...
// 6단계, 모든 행 반복 처리(출력)
while (rs.next()) {
println(rs.getString(1));
println(rs.getString(2));
}
...
// 7단계, 사용한 자원 해제
rs.close();
stmt.close();
con.close();
...
} catch (SQLException e) {
println(e);
}
사용자 지정 값이 들어가는 경우의 절차
<@page language="java" contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"
import "java.sql.*"; %> // 1단계, java.sql 패키지 import
<%
// 폼에서 받아온 값을 변수로 지정
String Dept_ID = request.getParameter("dept_id");
String Dept_Name = request.getParameter("dept_name");
String Dept_Tep = request.getParameter("dept_tel");
// 사용자 지정 값이 들어가야하는 SQL문
String sql = "INSERT INTO Department (Dept_ID, Dept_Name, Dept_Tel) VALUES (?,?,?)";
// DB서버 url을 String으로 만들어놓기
String url = "데이터베이스 URL";
try {
// 2단계, JDBC Driver 로드
Class.forName("oracle.jdbc.driver.OracleDriver");
// 3단계, DB서버 연결
Connection con = DriverManager.getConnection(url, "아이디", "비밀번호");
// 4단계, PreparedStatement 생성
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, Dept_ID);
pstmt.setString(2, Dept_Name);
pstmt.setString(3,
// 5단계, INSERT문 실행
pstmt.executeUpdate();
// 7단계, 사용한 자원 해제
pstmt.close();
con.close();
...
} catch (SQLException e) {
println(e);
}
'IT > JSP' 카테고리의 다른 글
[JSP] 쿠키와 세션 (1) | 2023.10.17 |
---|---|
[JSP] 자바빈과 표준 액션 태그 (0) | 2023.10.17 |
[JSP] 입력 폼 설계 (1) | 2023.10.17 |
[JSP] 내장 객체 (0) | 2023.10.17 |
[JSP] 기본 문법 (2) | 2023.10.17 |