프레임워크 JDBC

robin Han·2023년 4월 23일
0

Spring

목록 보기
9/13

jdbc:
jdbc에서 사용하는 bean (데이터소스, 등) 그리고
필요한 라이브러리,
jdbc 탬플릿 제공하는 메서드들 각 기능,
junit테스트 프레임워크 쓸떄 사용하는 애노테이션 설명,

데이터 액세스 처리를 비즈니스 로직 층에서 분리하는것

DAO Data Access Object

데이터 액세스 처리에 특화된 오브젝트

DAO 패턴

DAO 패턴은 데이터 처리를 DAO 오브젝트로 분리하는 패턴

Data Source

데이터베이스 접속을 관리해주는 인터페이스

------- POM.XML -------------
<dependency>
	<groupId>commons-dbcp</groupId>
	<artifactId>commons-dbcp</artifactId>
	<version>1.4</version>
</dependency>
<dependency>
	<groupId>commons-dbcp</groupId>
	<artifactId>commons-dbcp</artifactId>
	<version>1.4</version>
</dependency>

JDBC를 사용할때 필요한 라이브러리 , commons-dbcp : data source 구현, spring-jdbc

Jdbc Template Class

XML에 템플릿 클래스 빈으로 정의

queryForObject: 하나의 결과 레코드 중에서 하나의 컬럼 값을 가져올때 RowMapper 사용해서 하나의 레코드 정보를 객체에 매핑 가능

1 인수: SQL 문
2 인수: 반환형 클래스 오브젝트
3 인수: 파라미터 값 예) id= ?, id

queryForMap : 하나의 결과 레코드를 Map 형태로
queryForList: 여러개의 Map 형태의 결과 레코드
query: 여러개의 레코드를 객체로 변환하여 처리
update: 데이터 변경 ( Insert , Update, delete)

BeanPropertiesRowMapper VO 의 도메인을 변환

Spring-test

@RunWith ( SpringJunit4ClassRunner.class) : 테스트용DI 컨테이너 동작을 위하 Runner 클래스
@ContextConfiguration(locations = "./applicationContext.xml") : 테스트용 DI컨테이너가 사용하는 설정파일
@Test : 테스트 매서드 선언

테스트 순서
1. 우선적으로 DataSource 에 연결이 잘되는지 확인해야하니까 Datasource log를 사용해서 연결 확인
2. datasource를 받아서 사용하는 JDBCtemplate 테스트, 예) queryForobject()... .
3. 해당 JDBC 연결이 확인이 되면, 궁극적으로 Service가 잘 동작하는지 확인을 위해 매서드 실행, 예) readMember()

0개의 댓글