기린의 기록을 위한 공간

1.JDBCTemplate 본문

Programming/JDBC

1.JDBCTemplate

girin code 2020. 2. 21. 13:14

package com.common;


import java.io.FileReader;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Properties;


public class JDBCTemplate {

//DB관련 공통으로 사용하는것들의 기능을 모아놓은 객체

//Connection생성, 각PreparedStatement, Statement, ResultSet등

//SQL을 실행하고 결과를 가져오는 객체를 관리하는 기능(닫는 기능)

//트렌젝션을 처리하는 기능을 모아놓고 관리(commit,rollback)

//공통 -> 공용 -> static으로 모든메소드 선언!

//Connection생성하기

public static Connection getConnection() {

Connection conn = null;

// sql 프로퍼티스 파일 가져오기

try {

Properties prop = new Properties();

String path =                     JDBCTemplate.class.getResource("/sql/driver/driver.properties").getPath();

prop.load(new FileReader(path));

Class.forName(prop.getProperty("driver")); //prop에 key값 불러옴

conn = DriverManager.getConnection(

prop.getProperty("url"),prop.getProperty("user"),prop.getProperty("pw"));

conn.setAutoCommit(false);

}catch(Exception e) {

e.printStackTrace();

}

return conn;

}

//sql에서 사용한 객체 닫는 메소드 구현 (매개변수로 받은 커넥션을 닫아줌)

public static void close(Connection conn) {

try {

if(conn!=null && conn.isClosed()) {

conn.close();

}

}catch(SQLException e) {

e.printStackTrace();

}

}

//statement닫아주기 : Statement는 PreparedStatement의 부모객체임

//Statement를 닫아주는 메소드만 구현해도 다 처리할 수 있음

public static void close(Statement stmt) {

try {

if(stmt !=null && stmt.isClosed()) {

stmt.close();

}

}catch(SQLException e) {

e.printStackTrace();

}

}

//ResultSet닫기

public static void close(ResultSet rs) {

try {

if(rs !=null && rs.isClosed()) {

rs.close();

}

}catch(SQLException e) {

e.printStackTrace();

}

}

//트렌젝션처리 메소드 만들기

public static void commit(Connection conn) {

try {

if(conn!=null && !conn.isClosed()) {

conn.commit();

}

}catch(SQLException e) {

e.printStackTrace();

}

}

public static void rollback(Connection conn) {

try {

if(conn!=null && conn.isClosed()) {

conn.rollback();

}

}catch(SQLException e) {

e.printStackTrace();

}

}

}



[driver.properties]

driver=oracle.jdbc.driver.OracleDriver

url=db 주소

user=db 아이디

pw=db 비밀번호



'Programming > JDBC' 카테고리의 다른 글

6.msg.jsp  (0) 2020.02.21
5.LoginServlet  (0) 2020.02.21
4. VO  (0) 2020.02.21
3.Service  (0) 2020.02.21
2.DAO  (0) 2020.02.21
Comments