1 / 20

11. JDBC 기초

11. JDBC 기초. JDBC. JDBC 작성된 응용 프로그램에서 오라클 데이터와 연동하여 필요한 데이터를 데이터베이스로부터 얻어 오거나 저장하는데 사용되는 표준 데이터베이스 연동 라이브러리 JDK http://java.sun.com/javase/downloads/index.jsp JAVA 개발환경 eclipse. JDBC 란. 자바 언어를 사용한 응용 프로그램들이 DBMS 에 연결하고 데이터를 검색 , 저장 할 수 있도록 지원하는 패키지

lilia
Télécharger la présentation

11. JDBC 기초

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 11. JDBC 기초

  2. JDBC • JDBC • 작성된 응용 프로그램에서 오라클 데이터와 연동하여 필요한 데이터를 데이터베이스로부터 얻어 오거나 저장하는데 사용되는 표준 데이터베이스 연동 라이브러리 • JDK • http://java.sun.com/javase/downloads/index.jsp • JAVA 개발환경 • eclipse

  3. JDBC란 • 자바 언어를 사용한 응용 프로그램들이 DBMS에 연결하고 데이터를 검색, 저장 할 수 있도록 지원하는 패키지 • SQL문을 이용하여 사용자가 원하는 정보를 검색할 수 있도록 지원 • JDBC의 장점 • 개방형 패키지로 자바에서에 표준으로 제공 • SQL문을 지원함으로써 배우기 쉽고 사용하기 편함

  4. JDBC의 구성요소 • 응용 프로그램 • 응용 프로그램은 JDBC 메소드를 호출해서 SQL문을 보내고 DBMS로부터 원하는 데이터를 저장, 검색 한다. • 드라이버 매니저 • 응용 프로그램에 요청하는 드라이버를 로드해 주는 역할을 한다. 이 드라이버 매니저는 JDK 안에 표준으로 제공하고 한다. • 드라이버 • 드라이버는 데이터베이스에 SQL문을 전송하고, 검색 결과를 응용 프로그램에 전달하는 역할을 하며, 각 DBMS마다 자체 드라이버를 제공한다. • DBMS • 데이터가 저장되어 있는 저장소의 역할을 수행한다.

  5. JDBC의 구조

  6. 오라클 드라이버 • JDBC 드라이버 제공 회사 또는 DBMS의 목록 • http://java.sun.com/products/jdbc/reference/industrysupport/index.html • 오라클용드라이버 • 하드디스크 Orcle\product\10.2\db_1\jdbc\lib 폴더 • JDBC Thin 드라이버 (파일명 ojdbc14.jar) 사용 • 자바로 자성된 네트워크 드라이버

  7. JDBC이용 프로그램의 구성 • JDBC API • JDBC API java.sql 패키지를 import 해야 함 • Java.sql 패키지에는 JDBC API 2.0 표준 기능들이 포함 • 이외의 추가 기능들은 javax.sql 패키지에 포함 • JDBC의 이용 방법 순서 • 사용 드라이버를 드라이버 매니저에 등록 • 드라이버 매니저를 통한 데이터베이스 연결 • SQL문을 DBMS로 전송 • DBMS가 SQL문의 결과를 전송 • DBMS와의 연결 종료

  8. 드라이버 등록 • 드라이버 매니저 • DriverManager • java.sql을 import하면 자동으로 생성되는 클래스 객체 • 드라이버 생성 • new 메소드를 이용하여oracle.java.jdbc.driver.OracleDriver()인 객체 생성자를 호출 • 드라이버 등록 • DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); • 주의사항 • DriverManager는 java.sql 패키지에서 제공 • 그러나, oracle 드라이버는 오라클사에서 제공함. • 따라서 해당 패키지(ojdbc14.jar)를 link 시켜 놓아야 함.

  9. 오라클 드라이버 링크 • JDBCtest라는 프로젝트를 생성 • 그림에서 보듯이 JRE system library가 link 되어 있음.

  10. 오라클 드라이버 링크 프로젝트 property 선택, library 선택

  11. 외부 Jar 파일 버튼 선택

  12. ojdbc14를 찾아가서 선택 최종 link 화면

  13. 데이타베이스 연결 • 드라이버 매니저를 통하여 오라클에접속 • Connection 객체 • DriverManager의getConnection()메소드를 호출하여 생성 • 입력 변수:데이타베이스의 위치인URL,ID, Passward Connection con = DriverManager.getConnection(“jdbc:oracle:thin:@//localhost:1521/orcl”, “scott”, “tiger”) • URI (응용과 오라클이 동일 컴퓨터일 경우 • jdbc:oracle:thin:@//localhost:1521/orcl • jdbc:oracle:thin은 드라이버 • @//localhost는 오라클이 동작되고 있는 현 컴퓨터 • 다른 컴퓨터에서 동작할 경우 @//localhost대신 실제 컴퓨터의 IP 주소를 @xxx.xxx.xxx.xxx로 입력하면 됨 • :1521은 네트워크에 포트번호:오라클 미리 예약 • /orcl은 오라클 데이터베이스 명

  14. SQL 전송과 결과 받기 • Statement 객체 • SQL을 전송하기 위한 그릇 • Connection 객체의createStatement() 메소드를 이용하여 생성 Statement stat = con.createStatement(); • executeQuery() 메소드 • SELECT 구문을 실행 시킬 때 사용되는 메소드 • 실행 결과를ResultSet객체로 반환 • executeUpdate() 메소드 • 데이터 수정 시에 사용되는 메소드로 반환 결과로 정수값을반환

  15. ExecuteQuery()메소드 • ResultSetrs = stat.executeQuery(“select snum, sname from student’); • SELECT문 결과는 튜플들의집합  ResultSet • ResultSet::next() • Curser: 내부적으로 현재 ResultSet의 한 레코드를 가리키고 있음 • 결과 튜플들을순차적으로 읽어 올 수 있도록 함 • 현재 상태에서 읽어올 레코드가 있으면 true를 반환하고 없으면 false를 반환  while() 이용 • while(rs.next()){ … }; • ResultSet::getXXX() • 하나의 레코드는 여러 개의 컬럼값들로 구성되어 있음 • 각 컬럼값을접근 지원 • XXX는 자바에서 사용되는 데이타타입 • 매개변수: 컬럼명 또는 정수값(해당 컬럼의 순서, 1부터 시작) while( rs.next()){ intstudnum = rs.getInt(1); // 또는rs.getInt(“snum”); String studname = rs.getString(2);// 또는rs.getString(“sname”); }

  16. getXXX() 메소드 • getByte(), getShort(), getInt(), getLong(), getFloat(), • getDouble(), getBigDecimal(), getBoolean(), • getString(), getBytes(), getData(), • getTime(), getTimestamp(), • getAsciiStream(), getUnicodeStream(), getBinaryStream(), getObject() • 주의사항: 오라클에서 사용하는 데이터 타입과 자바의 데이터 타입이 불일치 하는 경우가 있음 • 올바른 getXXX()메소드를선택해야함. • getString()의 경우 오라클의 기본 데이터 타입에 대하여 오류가 발생되지 않음. • 정수 값이든 실수값이던 문자열이든 모두 String 타입으로 변환해 줌.

  17. executeUpdate() • 데이터 조작어를 수행시킬 때 사용되는 메소드 • 정수 값을 반환 • INSERT, UPDATE, DELETE • 삽입, 변경, 삭제된 레코드 수를 반환 • CREATE, DROP, ALTER • 항상0을 반환

  18. 실행결과

  19. DBMS의 연결 종료 • ResultSet()을 결과가 더 이상 필요 없으면ResultSet::close()메소드를 사용하여 그결과를 종료 • Statement 객체를 더 이상 사용하지 않을 경우에도 Statement::close()메소드를 이용하여 종료 • DBMS와 응용 프로그램 사이의 연결을 종료할 경우에도 Connection::close()를 이용하여 종료 • 응용프로그램이 종료되게 되면 자동으로 DB와 응용사이의 모든 연결들이 종료되게 되지만, DBMS의 오작동 등을 방지하지 위하여 항상 close() 메소드를 이용하여 연결들을 종료하는 것이 필요

More Related