Study📚/Java
자바 - JDBC Database 연결 객체 전용 클래스
woo!na
2023. 11. 20. 23:33
DB 연결은 부하가 매우 크기 때문에 한 번 연결된 객체를 계속 사용하는 것이 좋음
→ 싱글톤(Singleton) 디자인 패턴!! (== 사무실에 있는 정수기)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConn
{
// 변수 선언(연결 객체)
private static Connection dbConn;
// 메소드 정의 → 연결
public static Connection getConnection() throws ClassNotFoundException, SQLException
{
if (dbConn == null)
{
String url = "jdbc:oracle:thin:@localhost:0000:xe";
//-- 『localhost』 는 오라클 서버의 ip 주소를 기재하는 부분
String user = "user";
String pwd = "password";
Class.forName("oracle.jdbc.driver.OracleDriver");
//-- OracleDriver 클래스에 대한 객체 생성(클래스 찾아줘~!!!)
dbConn = DriverManager.getConnection(url, user, pwd);
//-- 오라클 서버 실제 연결
}
return dbConn;
}
public static Connection getConnection(String url, String user, String pwd) throws ClassNotFoundException, SQLException
{
if (dbConn == null)
{
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, user, pwd);
}
return dbConn;
}
public static void close() throws SQLException
{
if (dbConn != null)
{
if (!dbConn.isClosed())
dbConn.close();
}
dbConn = null;
//-- 연결 객체 초기화
}
}
위 구문들 throws 안 하고 try ~ catch 도 가능
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConn
{
private static Connection dbConn;
public static Connection getConnection()
{
if (dbConn == null)
{
String url = "jdbc:oracle:thin:@localhost:0000:xe";
String user = "user";
String pwd = "password";
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, user, pwd);
}
catch(Exception e)
{
e.toString();
}
}
return dbConn;
}
public static Connection getConnection(String url, String user, String pwd)
{
if (dbConn == null)
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, user, pwd);
}
catch(Exception e)
{
e.toString();
}
}
return dbConn;
}
public static void close()
{
if (dbConn != null)
{
try
{
if (!dbConn.isClosed())
dbConn.close();
}
catch(Exception e)
{
e.toString();
}
}
dbConn = null;
}
}