Spring JDBC와 DTO, DAO (1)
DTO란?
- Data Transfer Object의 약자
- 계층간 데이터 교환을 위한 자바빈즈
- 계층이란 컨트롤러 뷰, 비지니스 계층, 퍼시스턴스 계층을 의미
- 일반적으로 DTO는 로직을 가지고 있지 않고, 순수한 데이터 객체임
- 필드와 getter, setter를 가짐, 추가적으로 toString(), equals(), hashCode()등의 Object 메소드 오버라이딩 가능
DAO란?
- Data Access Object의 약자
- 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 객체
- 데이터베이스를 조작하는 기능을 전담하는 목적으로 만들어짐
ConnectionPool이란?
- DB연결은 비용이 많이 듦
- 커넥션 풀은 미리 커넥션을 여러 개 맺어둠
- 커넥션이 필요하면 커넥션 풀에게 빌려서 사용한 후 반납
- 커넥션을 반납하지 않으면 커넥션 풀에서 사용가능한 커넥션이 없어 프로그램이 늦어지거나 장애 발생시킬 수 있음
DataSource란?
- 커넥션 풀을 관리하는 목적으로 사용되는 객체
- 커넥션을 얻고 반납하는 작업 수행