윤석진 jco jdbc

Post on 04-Jul-2015

379 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

제13회 한국자바개발자 컨퍼런스

제13회 한국자바개발자 컨퍼런스

제13회 한국자바개발자 컨퍼런스

JDBC Overview

제13회 한국자바개발자 컨퍼런스

데이터베이스 API 표준 관계도

ODBC

X/OPEN

JDBC

제13회 한국자바개발자 컨퍼런스

http://docs.oracle.com/javase/7/docs/

JDBC

제13회 한국자바개발자 컨퍼런스

JDBC

Type1 Bridge

Type2 Native

Type3 MiddleWare

Type4 Pure Java

ODBC ODBC Driver

CLI(.lib)

MiddleWare Server

제13회 한국자바개발자 컨퍼런스

Database Name JDBC 4.1

Oracle 11g

SQL 2008 sqljdbc4

MySQL mysql-connector-java-com-5.x.x.jar

데이터베이스별 JDBC 드라이버 버전

ojdbc6

제13회 한국자바개발자 컨퍼런스

register

Provide

create

1 * retrive

extends

extends

1 *

1

1

1

1

JDBC API 관계도

DriverManager Driver

Connection

DatabaseMetaData

ResultSet Statement

ResultSetMetaData CallableStatement

PreparedStatement

제13회 한국자바개발자 컨퍼런스

JDBC 4.1 Goals & New Features

제13회 한국자바개발자 컨퍼런스

JDBC 4.1 Goals

1. Be consistent with SQL:2003

2. Offer vender-neutral access to common

features

3. Maintain the focus on SQL

4. Close Association with JDBC Rowset

implementations

제13회 한국자바개발자 컨퍼런스

SQL2003

1. xml-related features(SQL/XML)

2. Window functions

3. The sequence generator, which standardized

sequences

4. The new merge statement

5. Extensions to the Create table

제13회 한국자바개발자 컨퍼런스

Driver Auto-Loading

제13회 한국자바개발자 컨퍼런스

Auto-Closing

Statement

PreparedStatement ResultSet

Connection

AutoCloseable

제13회 한국자바개발자 컨퍼런스

JDBC API Tip

제13회 한국자바개발자 컨퍼런스

ConnectionPoolDataSource

DBVendorDataSource

PooledConnection ConnectionPoolDataSource

getConnection

ConnectionEvent

Close or Error

제13회 한국자바개발자 컨퍼런스

ConnectionPoolDataSource

제13회 한국자바개발자 컨퍼런스

ConnectionEvent

제13회 한국자바개발자 컨퍼런스

DatabaseMetaData

Connection DatabaseMetaData

제13회 한국자바개발자 컨퍼런스

static boolean isExist(Connection conn, String tableName)

SQLException {

DatabaseMetaData dbmd = conn.getMetaData();

ResultSet rs = dbmd.getTables(catalog,

schemaPattern,

tableName,

types);

return rs.next();

}

DatabaseMetadata table 존재유무

제13회 한국자바개발자 컨퍼런스

ResultSetMetaData

제13회 한국자바개발자 컨퍼런스

Data Manipulation

제13회 한국자바개발자 컨퍼런스

RowSet RowSet

CachedRowSet

WebRowSet

JoinRowSet FilteredRows

Connected Disconnected

ResultSet

JDBCRowSet

제13회 한국자바개발자 컨퍼런스

ResultSet Type

update

Scroller

제13회 한국자바개발자 컨퍼런스

JDBCRowSet ResultSet을 래핑하여 Scroll과 update를 가능하도록 만든 인터페이스

제13회 한국자바개발자 컨퍼런스

RowSet Joinable

CachedRowSet

CachedRowSet

제13회 한국자바개발자 컨퍼런스

CachedRowSet

제13회 한국자바개발자 컨퍼런스

CachedRowSet Insert

제13회 한국자바개발자 컨퍼런스

Data Filter

제13회 한국자바개발자 컨퍼런스

필터를 위한 인터페이스

Predicate

Evaluate(Rowset)

Evaluate(Object , int)

Evaluate(Object , String)

Filtered RowSet

setFilter( Predicate p)

getFilter

제13회 한국자바개발자 컨퍼런스

필터

제13회 한국자바개발자 컨퍼런스

제13회 한국자바개발자 컨퍼런스

WebRowSet

제13회 한국자바개발자 컨퍼런스

WebRowSet CRUD

제13회 한국자바개발자 컨퍼런스

JoinRowSet

WebRowSet

JoinRowSet

제13회 한국자바개발자 컨퍼런스

Table Join

제13회 한국자바개발자 컨퍼런스

JoinRowSet

Join

제13회 한국자바개발자 컨퍼런스

Bulk Insert

제13회 한국자바개발자 컨퍼런스

Insert Batch

dbConnection.setAutoCommit(false); preparedStatement.setXX();…..n preparedStatement.addBatch();

preparedStatement.executeBatch() dbConnection.commit();

제13회 한국자바개발자 컨퍼런스

Management Transaction

제13회 한국자바개발자 컨퍼런스

SavePoint

제13회 한국자바개발자 컨퍼런스

Logging

제13회 한국자바개발자 컨퍼런스

DriverManager logging

제13회 한국자바개발자 컨퍼런스

PreparedStatement Logging#1

제13회 한국자바개발자 컨퍼런스

PreparedStatement Logging#2

제13회 한국자바개발자 컨퍼런스

PreparedStatement Logging#3

제13회 한국자바개발자 컨퍼런스

예외처리

getErrorCode – db벤더가 제공하는 정수형 getSQLState – SQL2003 에러코드/문자열

http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=%2Fcom.ibm.sqls.doc%2Fids_sqs_0808.htm

제13회 한국자바개발자 컨퍼런스

All for One

One for All

top related