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 2,641건 74 페이지
  • RSS
기술자료 목록
1181
그누보드   20302  2012-05-29 04:43  
1180
그누보드   25511  2012-05-28 17:03  
1179
그누보드   40021  2012-05-26 17:54 ~ 2021-10-21 23:12  
1178
JavaScript   30334  2012-05-26 01:23 ~ 2020-04-08 09:26  
1177
JavaScript   31146  2012-05-24 03:56  
1176
Editor   17958  2012-05-24 03:39  
1175
JSP   51849  2012-05-23 13:11  
1174
Linux   17616  2012-05-23 13:05  
1173
Linux   22101  2012-05-22 23:28 ~ 2012-05-23 00:00  
1172
JSP   36453  2012-05-22 22:17  
1171
HTML   24323  2012-05-22 16:43 ~ 2019-03-02 04:18  
1170
MySQL   12730  2012-05-22 14:48  
1169
JSP   25875  2012-05-22 14:24  
1168
MySQL   30562  2012-05-22 14:20  
1167
Java   14044  2012-05-22 14:02  
열람
Java   13967  2012-05-22 14:00  
1165
JSP   20831  2012-05-22 13:59  
1164
.NET   15551  2012-05-21 21:47  
1163
MSSQL   19999  2012-05-21 20:44  
1162
ClassicASP   24242  2012-05-21 20:28  

검색

해피정닷컴 정보

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

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