* 오라클과 함께하며 진행하는 실습!
* DBConn 클래스는 생성되어 있음!
/*============================
Test003.java
- 데이터베이스 연결 실습
- 데이터 입력 실습
============================*/
package com.test;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import com.util.DBConn;
public class Test003
{
public static void main(String[] args) throws ClassNotFoundException, SQLException
{
// 연결 객체 생성(구성)
Connection conn = DBConn.getConnection();
if (conn == null)
{
System.out.println("데이터베이스 연결 실패~!!!");
System.exit(0);
}
//System.out.println("데이터베이스 연결 성공~!!!");
try
{
// 작업 객체 구성(작업을 수행하기 위한 준비)
Statement stmt = conn.createStatement();
// 쿼리문 준비
String sql = "INSERT INTO TBL_MEMBER(SID, NAME, TEL) VALUES(2, '홍길동', '010-2222-2222')";
// 쿼리문 전달(실행)
int result = stmt.executeUpdate(sql);
if (result > 0)
System.out.println("데이터 입력 성공~!!!");
else
System.out.println("입력 실패~ ㅠ_ㅠ");
} catch (Exception e)
{
System.out.println(e.toString());
}
DBConn.close();
// 리소스 반납 (연결 종료)
}
}
✔️ 자바 → 오라클 쿼리문 실행될 때, DML 구문이라면 내부적으로 자동 COMMIT
✔️ 쿼리문 전송 시,
DML 구문 (INSERT, UPDATE, DELETE)인 경우
int updateCount = stmt.executeUpdate(sql);
→ 적용된 행의 갯수 반환
SELECT 문인 경우
ResultSet rs = stmt.executeQuery(sql);
→ 결과 집합 형태로 ResultSet 반환
✔️ 리소스 반납
사용 끝난 리소스는 반납을 해줘야 한다.
리소스를 생성했던 것의 역순으로 반납해준다.
rs.close(); → ResultSet 사용했을 경우.
stmt.close(); → Statement 사용했을 경우.
DBConn.close(); → null 체크하여 close() 해 주는 것을 권장, finally 블럭에서 구현하는 것을 권장.