-> 라이브러리 파일
-> 다운받고 다음 폴더 하위에 드래그해서 옮기기
-> 다음과 같이 세팅
*)dbcp(database connection pool) - 커넥션 관리 객체
=> BasicDataSourceFactory는 공장으로 클래스(설계도/BasicDataSource 가 필요함
=> 사용자는 DataSource(인터페이스-사용설명서)를 가지고 커넥션을 사용할 수 있음
=> BasicDataSource는 항상 일정한 개수의 커넥션을 유지하려 함(부족한만큼 oracle에서 얻어옴)
*)dbcp(database connection pool) - 미리 데이터를 만들어놓고 요청시 바로 서비스해줌
)설치 파일 요약
)DBService - datasource 하나씩 받아오기
package service;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DBService {
// 싱글톤 패턴 : 객체 1개만 생성해서 이용하자
static DBService single = null;
DataSource ds = null;
public static DBService getInstance() {
if(single == null) single = new DBService(); // 없으면 니 객체를 생성해라
return single;
}
// 외부에서 객체 생성을 못하게 하기 위해 private 접근제어자 사용
private DBService() {
try {
// JNDI을 이용해s서 DataSource정보를 얻어온다
// 1. InitialContext생성(JNDI->interface추출객체)
InitialContext ic = new InitialContext();
// 2. Context정보(context.xml) 얻어온다
Context context = (Context) ic.lookup("java:comp/env");
// 3. naming을 이용해서 DataSource
ds = (DataSource) context.lookup("jdbc/oracle_test");
} catch (NamingException e) {
e.printStackTrace();
}
}// end - Contructor
public Connection getConnection() throws Exception {
// DataSource를 이용해서 BasicDataSource가
// 관리하고 있는 커넥션을 요청
return ds.getConnection();
}
}
) 테스트 (jsp)
<%
Connection conn = DBService.getInstance().getConnection();
System.out.println("--success--");
conn.close(); /* 사용하면 커넥션을 닫아줘야 함 */
%>
'웹 - JDBC' 카테고리의 다른 글
웹 - jdbc - 예제(방명록3 - 수정/삭제) (0) | 2024.06.21 |
---|---|
웹 - jdbc - 예제(방명록2) - 방명록 꾸미기/글 추가 기능 (0) | 2024.06.20 |
웹 - jdbc - 프로젝트 복사 (0) | 2024.06.20 |
웹 - jdbc - 예제(방명록) - db,vo,dao구성/방명록 조회 (0) | 2024.06.20 |
웹 - jdbc - 예제(dept 테이블) (0) | 2024.06.19 |