윤석진 jco jdbc
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