티스토리 뷰
Connectin Pool
1. 커넥션 풀
2. DataSource
커넥션 풀을 관리하는 객체
커넥션을 얻어오고 반납하는 등의 작업을 수행
[사용법]
1. Maven에 DataSource 의존성 추가 (아피치 제공) #Maven
1
2
3
4
5
|
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.1.1</version>
</dependency>
|
cs |
2. 객체 만들어서 데이터 연결 후(...) Bean으로 등록 #DBConfig
1
2
3
4
5
6
|
@Bean
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
...
return dataSource;
}
|
cs |
Spring JDBC
1. Spring JDBC란?
- JDBC: 반복되는 개발과정이 너무 많다 (드라이버 로딩 → Connection → Statement → sql문 → ResultSet → Close) #JDBC
- Spring JDBC: 반복되는 JDBC의 저수준 세부사항을 처리해줌.
2. Spring JDBC와 개발자가 해야 할 일
개발자: 어떤 DB에 접속하는지, 쿼리문 작성, 쿼리문에 필요한 값 제공, 이터레이션
3. JDBC 템플릿 종류
JDBCTemplate
- 기본
NamedParameterJdbcTemplate
- JdbcTemplate에서 JDBC statement 인자로 ? 대신 이름있는(named) 파라미터명을 사용
- SQL 문에 다중 파라미터가 있을 때 작성하기 좋다
- "SELECT role_id, description FROM role where role_id = :roleId"
SimpleJdbcInsert
- 테이블에 쉽게 데이터 insert 기능을 제공
- SimpleJdbcInsert 예제
SimpleJdbcTemplate (deprecated)
- JdbcTemplate과 NamedParameterJdbcTemplate 합쳐 놓은 템플릿 클래스
- 이제 JdbcTemplate과 NamedParameterJdbcTemplate에 모든 기능을 제공하기 때문에 삭제 예정될 예정(deprecated)
JdbcTemplate: setDataSource()가 있어서 dataSource를 property 방식으로 주입
SimpleJdbcTemplate: setDataSource()가 없어서 생성자 방식으로만 dataSource를 생성할 수 있다.
출처: https://chocobeans.tistory.com/entry/spring-JDBC-사용하기 [keep moving keep living]
https://www.edwith.org/boostcourse-web/lecture/20660/
2. Spring JDBC 실습
1. DBConfig 작성 #DBConfig
2. DTO 작성 #DTO
3. 템플릿을 이용하여 DAO 작성 #DAO (JDBC Template)
'JAVA > Spring' 카테고리의 다른 글
[Spring] Service / Transaction (0) | 2019.10.14 |
---|---|
[Spring] RowMapper (0) | 2019.10.12 |
[Spring] Controller(Handler) (0) | 2019.10.09 |
[Spring] [Config] WebMvcContextConfiguration (0) | 2019.10.08 |
[Spring] Spring MVC / Layered Architecture (0) | 2019.10.06 |