-
데이터베이스를 연결할 때 미리 준비하는 코드를 작성해서 Jdbc의 중복된 코드를 반복하는 것을 효율적으로 사용하기 위해서 JdbcTemlpate를 사용한다.
이때 data들을 전달하는 것이 DataSource인데 이 DataSource에 값을 넣는 방법이
스프링 프레임워크, c3p0 그리고 커넥션풀인 ComboPooledDataSource이다.
여러 클라이언트가 접속할 경우 드라이버 - 커넥션 작업을 반복하면 메모리 사용량이 늘어나기 때문에 미리 데이터 베이스에 대한 커넥션 풀을 만들어 놓는 것이다.
JdbcTemplate를 사용하면서 사용했던 모듈 중에 스프링 프레임워크와 c3p0가 있었다.
c3p0모듈을 사용하여
com.mchange.v2.c3p0.ComboPooledDataSource
dataSource = new DriverManagerDataSource();
dataSource.setDriverClass(driver);
data.Sourece.setJdbcUrl(url);
data.Source.setUser(userid);
data.Source.setPassword(userpw);
로 모듈을 적용하고
dataSource = new ComboPooledDataSource();
try{
dataSource.setDriverClass(driver);
data.Sourece.setJdbcUrl(url);
data.Source.setUser(userid);
data.Source.setPassword(userpw);
}catch(PropertyVetoException e)
e.printStackTrace();
}
로 표시할 수 있다.
스프링 설정파일에 들어가서
<bean:bean id = "dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<beans:property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
~
</beans:bean>
@Autowired로 DAO.java에서 받을 수 있다.
public MemberDao(ComboPooledDataSource dataSource){
this.template = new JdbcTemplate(dataSource);
}
만약 xml파일이 아닌 java 파일로 만들고 싶은 경우에는
@Configuration을 사용한다.
public class DatabaseConfig{
@Bean
public ComboPooledDataSource dataSource() throws PropertyVetoException{
ComboPooledDataSource dataSource = new ComboPooledDataSource();
// 자료형 타입형을 ComboPooledDataSource를 입력한다. //
dataSource.setDriverClass("oracle.jdbc.driver.OracleDriver");
dataSource.setJdbcUrl("jdbc:oracle:thin:@localhost~");
dataSource.setUser("alpha");
dataSource.setPassword("beta");
return dataSource;
}
}
로 입력한다.
'JSP&스프링 > 스프링 키포인트' 카테고리의 다른 글
[스프링] JDBC의 정의와 순서 단계 그리고 구현 방법 정리하기 (0) 2023.01.31 [스프링] 리다이렉트 & 인터셉트의 정의와 예시문 만들기 (0) 2023.01.31 [스프링] 클라이언트와 서버와의 관계에서 쿠키와 세션의 정의와 쿠키와 세션에 관련된 어노테이션 예시문으로 정리하기 (0) 2023.01.30 [스프링] Controller 객체를 만들고 어노테이션을 사용해서 구현하는 방법 (0) 2023.01.30 [스프링] Service 와 DAO 객체를 만들고 어노테이션으로 사용해보는 예시문 만들기 (0) 2023.01.30 댓글