JDBC
1. Java DataBase Connectivity
- 자바의 표준 DB접속 방법
- DataBase와 독립적인 구현
2. JDBC Driver Type
- type1 : JDBC-ODBC 브리지(UserCode -> JDBC -> JDBC-ODBC -> ODBC -> DB)
- type2 : native API Driver (UserCode -> JDBC -> DB library(native) -> DB)
- type3 : network-protocol driver (UserCode -> JDBC -> DB Midleware -> DB)
- type4 : native protocol driver (UserCode -> JDBC -> DB)
3. JDBC Spec.
- 커넥션, SQL 질의 및 파라미터, 결과의 수신,
- 기본 매핑(SQL Type & Java Type), 메타데이터 제공, 트랜잭션, 로깅 등
4. 커넥션 방법
- DriverManager로 접속하는 방법
Driver 로딩 : Class.forName("com.driver.class.name");
DriverManager로 커넥션 획득 : DriverManage.getConnection("접속정보");
- javax.sql.DataSource(JDBC 2.0)
WAS start(DataSOurce Configuration) -> Referenceable -> JNDI
Context.lookup(UserCode <-> JNDI <-> DataSources)
DataSource.getConnection(UserCode <-> DataSource)
- PooledDataSource
UserCode <-> Pooled Connection <-> ConnectionPool <-> PoolingDataSource
Data Access Layer
1. DAO FrameWorks
- JDBC Templates
- SQL Mappers
- OR Mappers
2. JDBC Templates
자주 사용하는 표준적인 DB접근, 질의 등을 템플릿 형태로 사용함
장점 - 쉽다, 설정필요이 따로 필요 없다
단점 - 코드안에 모든내용포함 된다, 코드가독성이 낮다, DB 의존적이다
3. SQL Mappers
쿼리 등을 외부로 빼내고 쿼리에 대한 결과를 매핑해주는 기능으로 bean에 결과를 매핑한다.
장점 - 코드가 줄어듦, 배우는게 쉽다, 코드와 쿼리가 분리된다
단점 - XML설정이 필요하다, DB에 의존적이다
4. OR Mappers
테이블의 Row를 하나의 객체로 인식하고자 함
설정을 통해서 테이블과 클래스, Row와 인스턴스를 연결하고 객체만을 사용
장점 - 코드가 줄어듦, 직관적이다, 쿼리와 DB의존적이지 않다
단점 - XML설정이 필요하다, 배우기 어렵다
댓글 없음:
댓글 쓰기