📚 Study/JDBC

JDBC :: 데이터베이스 연결 후 데이터 입력하기

bono-hye 2023. 11. 27. 23:25

* 오라클과 함께하며 진행하는 실습!

* 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 블럭에서 구현하는 것을 권장.