c3p0, hikariCP
<Resource
name = "jdbc/oracle"
auth = "Container"
type = "javax.sql.DataSource"
driverClassName = "oracle.jdbc.OracleDriver"
url = "jdbc:oracle:thin:@192.168.1.100:1521:xe"
username = "c##itbank"
password = "it"
maxActive = "20"
maxIdle = "10"
maxWait = "-1"
/>
자바형태의 객체로 만들어두고 이름으로 자원을 참조한다
프로젝트만들자마자 이 객체가 생기고 준비상태가 된다
기존방식 : DAO마다 1개의 커넥션을 보유하고 메서드 호출이 끝나면 연결이 끊어짐
ConnectionPool 도입 후 : DAO가 여러 번 메서드를 호출해도 커넥션을 새로 받아서 사용할 수 있게 된다.
-> 서로 다른 페이지가 아니라면, DAO는 하나만 있어도 충분하다
<%@ include %> 를 활용하면 여러 페이지가 하나의 DAO를 참조할 수도 있다
DTO : 속성을 중심으로 처리하는 방식 -> 서로 다른 객체가 다른 값을 가지게 된다
DAO : 기능을 중심으로 처리하는 객체 -> 서버상의 메모리에 오직 하나의 객체만 있어도 된다(참조할 수 있게 만들어줘야지 – 주소 값을 저장해 둠)
(밥을 먹는데 한 숟갈마다 숟가락을 바꿔서 쓰는 것 -> 지금은 한 숟가락으로 밥을 먹는 것)