01_JDBC_01

donnikim·2022년 9월 2일
0

JDBC

목록 보기
1/2

JDBC란?

  • 자바에서 데이터베이스에 접근 할 수 있게 해주는 Programming API이다.(자바와 DB 연결)

jdbc 사용 객체

1) DriverManager

  • Class.forName()메소드는 생략할수 있지만 추후의 드라이버를 인지하지 못하는 에러가 발생할 수 있기 때문에 Driver을 명시하는 것을 권장함

  • Class.forName() 어떤 dbms에 연결할 건지 종류를 지시해주는 역활
    (오라클?,mysql?,mariaDB? 중 어떤걸 연결할래? )

  • 데이터 원본에 JDBC드라이버를 통하여 커넥션을 만드는 역할

  • DriverManager 클래스 안에 있는 getConnection()메소드를 통해
    오라클에 있는 계정중 원하는 계정에 접근할 수 있도록한다!

2) Connection

  • getConnection() 메소드에 대한 반환값

  • 내가 해당 계정안에 있는 객체를 (table, view, sequence 등) 조작할수 있는 권한을 가짐

  • Connection 안에있는 ①createStatement()메소드를 사용가능하다
    (①메소드를 사용하여 Statement 를 얻을 수 있어!)

  • ② prepareStatement()메소드를 사용할 수 있다.
    (②메소드를 사용하여 PreparedStatement를 얻을 수 있어!)

3) ResultSet

  • 0개 이상의 결과를 가져올수 있다.

  • DB에 SELECT 해달라는 명령문을 보냄 DB에서는 그 결과를 ResultSet 객체에 담아서 우리에게 반환

  • SELECT를 하고 나서의 객체 결과값

4) Statement

  • 실제 자바에서 쓴 쿼리를 db에 전달해주는 역할을 한다(우체부 역할).

  • prepareStatement()도 db에 쿼리를 전달해 주는 역할을 함.

  • Statement vs PreparedStatement
    (용도는 똑같지만 사용하는 시기와 방식이 다르다. 코드를 통해 확인)

요약

  • ① Class.forName("연결할 DBMS의 Driver")을 설정 함으로써 내가 사용하려는 DBMS를 선택한다
    (오라클? Mysql? MSsql? MariaDB?)

  • ② Connection conn = DriverManager.getConnection("계정정보","계정이름","계정 비밀번호");
    (내가 원하는 DBMS와 연결을 할것이다. DBMS속 계정에 진입하는 역할)

  • ③ String query = "쿼리명령어"
    (내가 DBMS에 접근하여 원하는 결과 값을 얻기 위해 쿼리 작성하여 담는 역할)

  • statement stmt = conn.createStatement()는 우체부 역할

  • select 절 쓸꺼야? 그러면 executequery써야해 그러면 반환값은
    resultset으로 돌아올꺼야!

  • insert, update , delete 문은 executeUpdate()문을 사용한다.

  • DML문 시용시 왜 INT로 반환?
    ( "1" 개의 행이 추가,삭제,업데이트 되었습니다. 오라클은 숫자로 반환해 줌)

  • resultset은 몇개를 돌지 모르니 while문을 사용함!!

  • while(rset.next()) 를 통해 행을 뽑아내기
    다 뽑아냈으면 알아서 종료 next()

0개의 댓글

관련 채용 정보