본문 바로가기
코딩 공부/web & Java

[JSP, JAVA] JDBC

by 현장 2022. 9. 21.

JDBC(Java Database Connectivity)

자바를 이용한 데이터베이스 접속과 SQL 문장의 실행, 그리고 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 관한 규약으로 자바 프로그램 내에서 SQL문을 실행하기 위한 자바 API이다.

(SQL과 프로그래밍 언어의 통합 접근 중 한 형태)

주요 클래스 및 인터페이스

  • DriverManger : JDBC 드라이버 로드
  • Connectoin : DB와 연결하기 위한 인터페이스
  • Statement : SQl을 보내기 위한 통로. 인자가 없음.
  • PreparedStatement : Statement와 동일한데 차이점은 인자값으로 SQL을 받기 때문에 특정한 SQL에 대한 통로라고 생각하면 된다. 
  • CallableStatement : PL/SQL을 호출할 때 사용
  • ResultSet : SQL문의 결과를 저장하는 객체

JDBC를 이용한 프로그래밍 방법

1단계 :드라이버 로딩(mysql 드라이버 로딩)

Class.forName( "com.mysql.jdbc.Driver" );


2단계 :Connection객체로 DB연결

  1. DBMS종류(mysql8버전)
  2. ip
  3. port번호
  4. db접속id
  5. db접속비번
  6. db명(sid,service name) 
String dburl  = "jdbc:mysql://localhost/dbName";

Connection con =  DriverManager.getConnection ( dburl, ID, PWD );


3단계 :Query실행을 위한 준비
( statement 또는 PreparedStatement객체생성)
ex) insert / update / delete / select (DCL DDL DML) ..etc

Statement stmt = con.createStatement();


4단계 :Query실행

pstmt = conn.prepareStatement(
				"INSERT INTO tb_member VALUES (?, ?, ?, ?, ?)");

pstmt.setString(1, m_id);
pstmt.setString(2, m_pw);
pstmt.setString(3, m_level);
pstmt.setString(4, m_name);
pstmt.setString(5, m_email);


5단계 :Query실행결과 사용
(insert,update,delete의 경우 생략 가능단계)

int result = pstmt.executeUpdate();


6단계 :statement 또는 PreparedStatement객체 종료(close())

stmt.close();


7단계 :DB연결(Connection 객체) 종료(close())

con.close();

JDBC 클래스의 생성 관계

출처:https://www.boostcourse.org/web326/lecture/58939?isDesc=false

 

'코딩 공부 > web & Java' 카테고리의 다른 글

[SQL] Union  (0) 2022.09.22
[SQL] Sub Query  (0) 2022.09.22
[JAVA] EAR, WAR, JAR  (0) 2022.09.20
[JSP] Session  (0) 2022.09.20
[JSP] JSP전용 태그  (0) 2022.09.19