본문 바로가기
스마트인재개발원/자바

[자바/DB] JDBC

by 죠졍니 2022. 9. 27.
728x90
반응형
SMALL

 


JDBC JAR파일 추가방법 

 

 ojdbc.jar 프로젝트에 추가.  
 build path - configure build path -  c - oraclexe - ap - product - jdbc - jdbc6.jar추가

 

 

 

 

 

 


Insert

 

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Ex01_insert {

	public static void main(String[] args) {

		//JDBC 연결 순서
	//0. ojdbc.jar 프로젝트에 추가.  
		// : build path - configure build path -  c - oraclexe - ap - product - jdbc - jdbc6.jar추가
	//1. 드라이버 로딩
	//2. 데이터베이스 연결
	//3. 쿼리문 실행
	//4. 연결 종료
		
		
		//JDBC Driver 동적 로딩
		//동적로딩 : 프로그램 실행되면 그 즉시 타입이 결정되는 것
		//★자바의 오류 2가지★
		//1. 컴파일 오류 - Syntax error -> 문법적 오류
		//2. 런타임 오류 - 문법적인 오류는 없지만 실행하면 그 즉시 오류발생
		
		//동적로딩을 위해서 메소드를 불러오기
		try { //예외처리를 하기위한 문법 = 일단 해봐
			Class.forName("oracle.jdbc.driver.OracleDriver");
			//oracle.jdbc.driver - 패키지명
			//OracleDriver - 클래스명
			
			
			//2. Database 연결
			//DB에 접근하기 위해서 변수를 사용해 DB url, id, pw 정리하고 사용
			String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
			//jdbc:oracle:thin -> oracle thin driver 사용
			//127.0.0.1 -> localhost
			//1521 -> Port Number
			//xe -> DB 별칭
			String id = "hr";
			String pw = "hr";
			//Java, DB 왔다갔다 하면서 데이터 저장, 전송 -> Connection 객체 생성
			//여권처럼 db접근 가능한지 정보들 검사
			//ID,PW 맞다면 ok, 안맞다면 failed
			
			
			Connection conn = DriverManager.getConnection(url, id, pw);
			
			if(conn != null) {
				System.out.println("연결 성공");
			}
			
			else {
				System.out.println("연결 실패");
			}
			
			//3. SQL문 전송.
			String sql = "INSERT INTO MEMBER values('Mercury','0905','조정은',23)";
			
			PreparedStatement psmt = conn.prepareStatement(sql);
			//PreparedStatement역할 : sql문 전달해주는 역할.
			//자바, db 왔다갔다 하는 객체 -> conn.
			
			
			//sql문 실행
			int cnt = psmt.executeUpdate();
			
			if(cnt>0) {
				System.out.println("insert 성공");
			}
			else {
				System.out.println("insert 실패");
			}
			
			
			//4. 종료
			//종료 순서 : 가장 마지막에 열어주었던 걱채부터 역순으로 닫아주기
			if(psmt != null) {
				psmt.close();
			}
			if(conn != null) {
				conn.close();
			}
			
			
			
		}
		 catch (ClassNotFoundException e) { //실행시 오류가 발생하면 catch문 오류를 잡을 수 있따
			 								//여기서 오류가 발생하면, ojdbc6.jar 파일추가가 안된거임 
			System.out.println("드라이버 오류");
				e.printStackTrace();
			} catch (SQLException e) { //여기서 오류가 난다면, DB정보 확인
			System.out.println("sql 오류");
				e.printStackTrace();
		}
		
		
	
		
		
		
	}

}

 

 

 

 


 

Update

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Ex02_update {

	public static void main(String[] args) {

		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");

			String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
			String id = "hr";
			String pw = "hr";
			
			
			Connection conn = DriverManager.getConnection(url, id, pw);
			
			if(conn != null) {
				System.out.println("연결 성공");
			}
			
			else {
				System.out.println("연결 실패");
			}
		
			String sql = "UPDATE MEMBER SET pw='9120' where id = 'Mercury'";
			
			PreparedStatement psmt = conn.prepareStatement(sql);
			
			
			//CRUD
			//C : Create R : Read U : Update D : Delete
			//executeUpdate : Insert, Delete, Update
			//executeQuery : Select(조회)
			
			
			int cnt = psmt.executeUpdate();
			
			if(cnt>0) {
				System.out.println("update 성공");
			}
			else {
				System.out.println("update 실패");
			}
			
			//4. 종료
			//종료 순서 : 가장 마지막에 열어주었던 걱채부터 역순으로 닫아주기
			if(psmt != null) {
				psmt.close();
			}
			if(conn != null) {
				conn.close();
			}
			
			
			
		}
		 catch (ClassNotFoundException e) { //실행시 오류가 발생하면 catch문 오류를 잡을 수 있따
			 								//여기서 오류가 발생하면, ojdbc6.jar 파일추가가 안된거임 
			System.out.println("드라이버 오류");
				e.printStackTrace();
			} catch (SQLException e) { //여기서 오류가 난다면, DB정보 확인
			System.out.println("sql 오류");
				e.printStackTrace();
		}
		
		
	
		
		
	}

}

 

 

 


Delete

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Ex03_delete {

	public static void main(String[] args) {

		Connection conn = null;
		PreparedStatement psmt = null;
		
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");

			String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
			String id = "hr";
			String pw = "hr";
			
			conn = DriverManager.getConnection(url, id, pw);
			
			if(conn != null) {
				System.out.println("연결 성공");
			}
			
			else {
				System.out.println("연결 실패");
			}
		
			String sql = "DELETE FROM MEMBER where id = 'Mercury'";
			
			psmt = conn.prepareStatement(sql);

			int cnt = psmt.executeUpdate();
			
			if(cnt>0) {
				System.out.println("delete 성공");
			}
			else {
				System.out.println("delete 실패");
			}
	
			
			if(conn != null) {
				System.out.println("DB연결 성공");
			}
			else {
				System.out.println("DB연결 실패");
			}
		}
		 catch (ClassNotFoundException e) { //실행시 오류가 발생하면 catch문 오류를 잡을 수 있따
			 								//여기서 오류가 발생하면, ojdbc6.jar 파일추가가 안된거임 
			System.out.println("드라이버 오류");
				e.printStackTrace();
			} catch (SQLException e) { //여기서 오류가 난다면, DB정보 확인
			System.out.println("sql 오류");
				e.printStackTrace();
		}
		finally {
			
			//4. 종료
			//종료 순서 : 가장 마지막에 열어주었던 걱채부터 역순으로 닫아주기
			try {
			if(psmt != null) {
					psmt.close();
				}
			}catch (SQLException e) {
				e.printStackTrace();
			}
			try {
			if(conn != null) {
					conn.close();
				} 
			}catch (SQLException e) {
				e.printStackTrace();
			}
		}
		
	}

}
728x90
반응형
LIST