커넥션풀

최지혜·2022년 10월 8일
0

db

목록 보기
5/5

JdbcTemplate써도 여러명이 이용하면 메모리 많이 쓰게 되니
여유롭게 커넥션 많이 만들어 놓고(설정 다 해놓고),
요청이 들어오면 제공

-> 커넥션풀을 이용하여 서버의 부하를 최소화

방법: Bean객체 미리 만들고,
@Autowired를 이용해 Bean객체를 바로 가져다 씀

1. 빈객체에 데이터소스 만들어서 자동주입

  • 커넥션풀 이용할 때는 예외처리 반드시 해주어야 함.
dataSource = new ComboPooledDataSource();
try {
	dataSource.setDriverClass(driver);
    dataSource.setJdbcURl(url);
    dataSource.setUser(userid);
    dataSource.setPassword(userpw);
 } catch (PropertyVetoExcetion e) {
 	e.printStackTrace();
 }
<beans:bean id='dataSource" class=" " />
	<beans:property name="driverClass" value=" "  />
    <beans:property name="jdbcUrl" value=" " />
    <beans:property name="user" value=" " />
    <beans:property name="password" value=" " />
    <beans:property name="maxPoolSize" value=" " />		
    <beans:property name="checkoutTimeout" value=" " />
    <beans:property name="maxIdleTime" value=" " />
    <beans:property name="idleConnectionTestPeriod" value=" " />
</beans:bean>

을 ~.xml파일에 만들어주면
MemberDao.java파일에서

@Autowired
public MemberDao(ComboPooledDataSource dataSource) {
	this.template = new JdvcTemplate(dataSource);
})

이렇게 사용할 수 있다!

xml이용하지 않고, bean객체를 자바파일로 만들기

~Config.java파일 만들어주면 됨

@COnfiguiratuion
public class DBConfig {

	@Bean
    public ComboPooledDataSource dataSource() throws PropertyVetoExcepttion{
    dataSource.setDriverClass(" ");
    dataSource.setJdbcUrl(" ");
    dataSource.setUser(" ");
    dataSource.setPassword(" ");
    dataSource.setMaxPoolSize( );
    dataSource.setCheckoutTimeout( );
    dataSource.setMaxIdleTime( );
    dataSource.setidleConnectionTestPeriod( );
    
    return dataSource;
    }
}
profile
매일 성장하는 개발자

0개의 댓글