DBCP를 이용한 PoolManager 클래스와 이용법 예제 > 기술자료 | 해피정닷컴

DBCP를 이용한 PoolManager 클래스와 이용법 예제 > 기술자료

본문 바로가기

사이트 내 전체검색

DBCP를 이용한 PoolManager 클래스와 이용법 예제 > 기술자료

Java DBCP를 이용한 PoolManager 클래스와 이용법 예제

페이지 정보


본문

-------------------------------------------------------------------------------------
DBCP를 이용하여 Connection 객체를 얻어오는 작업이 빈번하기에
빈즈화 시켜봄
특히 매니져 객체가 한번만 만들어질 수 있도록 변수를 static 으로 지정하였슴
-------------------------------------------------------------------------------------
PoolManager.java 의 소스
package pool;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
public class PoolManager {
 private static PoolManager instance = null;
    public static PoolManager getInstance() {
        if (instance == null) {
              instance = new PoolManager();
        }
        return instance;
    }
 public Connection getConnection(){
  DataSource ds=null;
  Connection con=null;
  try{
   Context ct1=new InitialContext();
   Context ct2=(Context)ct1.lookup("java:comp/env");
   ds=(DataSource)ct2.lookup("jdbc/zino");
   con=ds.getConnection();
  }catch(Exception e){
   e.printStackTrace();
  }
  return con;
 }
 public void freeConnection(Connection con){
  if(con!=null){try{con.close();}catch(Exception e){};} 
 }
  
 public void freeConnection(Connection con,PreparedStatement pstmt){
  if(con!=null){try{con.close();}catch(Exception e){};}
  if(pstmt!=null){try{pstmt.close();}catch(Exception e){};}
 };
 public void freeConnection(Connection con,PreparedStatement pstmt,ResultSet rs){
  if(con!=null){try{con.close();}catch(Exception e){};}
  if(pstmt!=null){try{pstmt.close();}catch(Exception e){};}
  if(rs!=null){try{rs.close();}catch(Exception e){};}
 };
}
 
 
-------------------------------------------------------------------------------------
위의 풀매니져를 사용하게 될 JSP 소스
-------------------------------------------------------------------------------------
<%@ page import="java.sql.*" %>
<%@ page import="pool.PoolManager" %>
<%
 PoolManager pool=PoolManager.getInstance(); // new 가 아님에 주의!! (싱글톤 패턴) 
 Connection con=pool.getConnection();
 String sql="select * from test";
 PreparedStatement pstmt=con.prepareStatement(sql);
 ResultSet rs=null;
 rs=pstmt.executeQuery();
 rs.next();
 out.print(rs.getString("name"));
 pool.freeConnection(con,pstmt,rs);

댓글목록

등록된 댓글이 없습니다.


Total 8건 1 페이지
  • RSS
기술자료 목록
8
Java   1331  2024-02-06 16:49  
7
Java   10370  2017-04-02 23:58  
6
Java   23304  2017-04-02 15:44  
5
Java   16899  2017-04-02 11:01  
4
Java   9388  2017-02-15 01:04  
3
Java   24818  2013-08-21 16:40  
2
Java   14090  2012-05-22 14:02  
열람
Java   14009  2012-05-22 14:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.