코딩항해기

[JSP] JDBCUtil 템플릿 정리 본문

JSP

[JSP] JDBCUtil 템플릿 정리

miniBcake 2024. 8. 9. 18:33

 

 

 

JDBC이긴한데 JSP에서 DB 연결할 때 사용하므로 JSP 카테고리에 정리했다.

DB연결과 해제는 메서드로 만들어 사용하는 경우가 많고 그 형태가 패턴화되어있기 때문에 템플릿화된 코드라고 부른다.

 

static을 사용하면 new 연산자 없이도 바로 메서드를 사용할 수 있다는 장점이 있어 JDBCUtil 메서드는 static으로 이루어져있다.

 

서버 동작 메세지가 전부 붉은 글씨라 일부러 정상 작동하는 부분은 out을 사용했는데, 아직 공부한 선에선 개인 취향에 가까운 것 같다는 생각이 들어 눈에 잘 띄는 방향으로 설정했다.

공부하면서 발전시키면 더 좋은 JDBCUtil 파일이 될 수 있을 것 같다.

package model;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class JDBCUtil {

   
   private static final String driverName="oracle.jdbc.driver.OracleDriver";
   private static final String url="jdbc:oracle:thin:@localhost:1521:xe";
   private static final String userName="miniBcake"; // sql 계정이름
   private static final String password="1234"; // 비밀번호
   
   public static Connection connect() {
      Connection conn=null;
      
      try {
         Class.forName(driverName);
      } catch (ClassNotFoundException e) {
         System.err.println("Class.forName(driverName) fail");
      } finally {
         System.out.println("드라이버를 메모리에 로드(load,적재)");
      }
      
      try {
         conn=DriverManager.getConnection(url, userName, password);
      } catch (SQLException e) {
         System.err.println("Connection fail");
      } finally {
         System.out.println("연결 객체 확보");
      }
      
      return conn;
   }
   
   public static boolean disconnect(Connection conn, PreparedStatement pstmt) {
      try {
    	 if(pstmt == null || conn == null) {
         	System.err.println("pstmt, conn null");
    		 return false;
    	 }
         pstmt.close();
         conn.close();
      } catch (SQLException e) {
         System.err.println("pstmt, conn close fail");
         return false;
      } finally {
         System.out.println("연결 해제");
      }
      return true;
   }
   
}

'JSP' 카테고리의 다른 글

[JSP] EL식, JSTL  (0) 2024.08.14
[JSP] header, footer 넣기  (0) 2024.08.09
[JSP] response.sendRedirect() 주의사항  (0) 2024.08.08
[JSP] JSP 기본 태그  (0) 2024.08.07
[JSP] 내장 객체 (request, response)  (0) 2024.08.07