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 2,648건 75 페이지
  • RSS
기술자료 목록
1168
MySQL   31450  2012-05-22 14:20  
1167
Java   14680  2012-05-22 14:02  
열람
Java   14680  2012-05-22 14:00  
1165
JSP   21571  2012-05-22 13:59  
1164
.NET   16271  2012-05-21 21:47  
1163
MSSQL   20659  2012-05-21 20:44  
1162
ClassicASP   24985  2012-05-21 20:28  
1161
.NET   27506  2012-05-18 17:50  
1160
ClassicASP   19455  2012-05-18 17:28  
1159
ClassicASP   20422  2012-05-18 14:28 ~ 2012-05-25 00:00  
1158
MSSQL   18634  2012-05-18 04:49  
1157
HTML   32401  2012-05-17 14:58 ~ 2018-06-15 14:17  
1156
SQL   13943  2012-05-17 13:46  
1155
JSP   22503  2012-05-16 20:28  
1154
JavaScript   17478  2012-05-15 01:04 ~ 2022-01-30 23:52  
1153
HTML   14267  2012-05-14 15:43 ~ 2014-06-16 00:00  
1152
전자결제   29407  2012-05-12 15:15  
1151
전자결제   19404  2012-05-12 14:47  
1150
HTML   14992  2012-05-10 22:10  
1149
JavaScript   16003  2012-05-10 21:08  

검색

해피정닷컴 정보

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

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