JDBC 설치 및 인터페이스 구현

삼전·2023년 6월 6일
0

Oracle

목록 보기
3/15

JDBC란 ?

  • JDBC는 데이터 접속(Data Mapping)이다. 즉, 프로그래밍 코드와 DB의 데이터를 연결(Mapping)하는 것을 말하며 'SQL Mapping 중 하나'라고 생각하면 된다.

🚀jdbc다운로드 바로가기

⚡Reference Libraries에서 참조하는 경로

  • ojdbc8.jar 다운로드 - 미리보기 - oracle-jdbc-driver- OracleDriver.class를 참조한다

1.eclipse실행 - New - Project - javaproject

2.jdbc를 프로젝트에 넣어줘야 한다.

  • JRE System libraries - build path - configuration build path - libraries - classpath - Add External Jar에서 ojdbc8.jar(알집으로 풀지 않고 그대로 가능)가 있는 폴더 경로를 추가한다.

3. 인터페이스 구현할 클래스 만들기

  • (패키지 만들어서)InsertTest 클래스를 한 개 만든다.

  • 다음의 클래스 또는 인터페이스는 Java SE20 문서에서 이해하기 🚀Java API 문서 바로가기
    🔹import java.sql.Connection;
    🔹import java.sql.DriverManager;
    🔹import java.sql.PreparedStatement;

검색 예)java.sql.PreparedStatement.setInt

자바코드

package jdbcMaster;
import java.util.Scanner;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

class InsertTest {
Scanner scan = new Scanner(System.in);
public InsertTest() {

}
public void empStart() {
	/*JVM 이 oracleDriver이 실행하도록 만들어줘야 한다.
		1. DB 로딩
		 Class: '문자열'로 입력하면-> '객체'로 만들어 주는 클래스
		  - java SE 20 - java.lang.Class 
		  - API문서 참조: Class.forName("oracle.jdbc.driver.OracleDriver");
		 
		
	*/
	try {
		Class.forName("oracle.jdbc.driver.OracleDriver");
		/*2.DB연결: Class DriverManager
		 메서드 getConnection(String url, String user, String password)
		 - url: 오라클 서버
		 - user: 계정을 뜻함 예)scott
		 String url = "localhost:1521:xe"  
		 사용: DriverManager.getConnection(url,"scott", "tiger") 
		 *module-info 파일 삭제 
	*/	
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
	// Connection conn이 'PreparedStatement 메서드'를 만드는 것을 가지고 있다. 
		Connection conn = DriverManager.getConnection(url,"scott", "tiger");

		System.out.print("사원번호:");
		int empno = Integer.parseInt(scan.nextLine());
		System.out.println("사원명:");
		String ename = scan.nextLine();
		System.out.println("입사일(예:20231012):");
		String hiredate= scan.nextLine();
		System.out.println("급여:");
		int sal = Integer.parseInt(scan.nextLine());
		//3. 쿼리문 만들기
		String sql = "insert into emp(empno, ename, hiredate,sal)"
					 + "values(?,?,to_date(?,'YYYYMMDD'), ?)";
		
		//4. 쿼리문을 이용하여 PreparedStatement 객체를 생성한다. 
		PreparedStatement pstmt = conn.prepareStatement(sql); 
		// ?에 값셋팅: sql의 첫번째 물음표 1번 
		//pstmt.setString(sal, sql)T
		pstmt.setInt(1, empno);
		pstmt.setString(2, ename);
		pstmt.setString(3, hiredate);
		pstmt.setInt(4, sal); 
		/* 5. 실행 -- DB에 레코드 추가되는 시점
	      *insert, update, delete는 ResultSet - executeUpdate();
	       - int(없뎃 숫자를 보고 확인!)executeUpdate();
	      *select -> executeQuery(); 
		*/
		int result = pstmt.executeUpdate();
		if(result>0){
			System.out.println("사원이 등록되었습니다.");
		} else {
			System.out.println("사원등록이 실패하였습니다.");
		}
		// 클로징 
		pstmt.close();
		conn.close();
		
	} catch(Exception e) {
		e.printStackTrace();
		//System.out.println("드라이브 로딩 예외발생..");
		
		
	}
	
	

	//사원등록-> 사원번호, 사원명, 입사일 급여

}
public static void main(String[] args) {
	new InsertTest().empStart();
}
 

}

profile
풀스택eDot

0개의 댓글