9. JDBC에 따른 데이터베이스,어플리케이션 개발
1)JDBC API와 JDBC 드라이버
- JDBC는 RDBMS를 이용하기 위한 기술, API와 드라이버의 2레이어로 나눠 구성되어 있다.
- JDBC는 XML이나 NoSQL 데이터베이스는 대응하고 있지 않다.
- javax.sql 패키지로 인터페이스, 유틸리티, 클래스 제공중
- JDBC 드라이버 : 사용하는 데이터베이스 제품에 대하여 개별적으로 입수할 필요가 있다.(MySQL, MariaDB, Oracle, DB2, MSSQL등)
- 접속URL : jdbc::xxx://host[:port]/dbname[?option]
2)java.sql.DriverManager 클래스
- JDBC를 사용해서 데이터베이스에 접속학 위한 클래스 및 메소드 : DriverManager클래스의 getConnection()
3)java.sql.Connection 인터페이스
4)java.sql.Statement 인터페이스
- 데이터베이스에 대해 SQL문을 발행하는 오브잭트 생성 코드 : Statement stmt = conn.createStatement()
- SQL 실행용 메소드 : execute, executeQuery, executeUpdate\
- boolean execute() : 반환값 true : SELECT, false : INSERT, UPDATE, DELETE
5)ResultSet
- ResultSet 메소드 : getDate(), getTime(), getTimestamp()
- ResultSet은 다른 ResultSet 오브젝트를 가져올 때 자동으로 close된다. 두개의 Result set 동시 처리 안됨.
- 스크롤 가능한 ResultSet사용 하는 statement : conn.createStatement( 1, 2)
1에 가능한 인수 : ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.TYPE_SCROLL_SENSITIVE
2에 가능한 인수 : ResultSet.CONCUR_READ_ONLY, ResultSet.CONSER_UPDATEABLE
- 상대 위치 커서를 옮기는 방법 : next(), previous(), relative(int rows)
- 절대 위치 커서를 옮기기 : absolute(int row), afterLast(), beforeFirst(), first(), last()
- 갱신용 메소드 : cancelRowUpdates(), deleteRow(), insertRow(), moveToInsertRow(), updateString(int index, String x), updateString(String label, String x)
-투입 전용행 : moveToInsertRow() 사용. 커서를 이동. insertRow() 호출해서 투입, 투입전용행 직전의 커서 위치로 돌아갈때는 moveToCurrentRow() 사용
6) SQLException 메소드
- getErrorCode(), getNextException(), getSQLState(), iterator(), setNextException()