You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.8 KiB
99 lines
2.8 KiB
package kr.co.kihyun.db; |
|
|
|
import java.sql.Connection; |
|
import java.sql.ResultSet; |
|
import java.sql.SQLException; |
|
import java.sql.Statement; |
|
import java.sql.PreparedStatement; |
|
|
|
import javax.naming.Context; |
|
import javax.naming.InitialContext; |
|
import javax.naming.NamingException; |
|
import javax.sql.DataSource; |
|
|
|
import kr.co.kihyun.moumi.MoumiConfig; |
|
|
|
public class DBPool { |
|
//50.public static을 통한 선언 오류(CWE-500) Delete by YOUNGJUN,CHO |
|
//public static int conCount = 0; |
|
//------------------------------------------------ |
|
private static DataSource ds = null; |
|
private static Context ctx; |
|
|
|
static { |
|
try { |
|
ctx = new InitialContext(); |
|
ctx.addToEnvironment("SetBigStringTryClob", "true"); |
|
ctx.addToEnvironment("oracle.jdbc.V8Compatible", "true"); |
|
ctx.addToEnvironment("oracle.jdbc.mapDateToTimeStamp", "false"); |
|
ds = (DataSource) ctx |
|
.lookup(MoumiConfig.getPMFProperties().getProperty("javax.jdo.option.ConnectionFactoryName")); |
|
} catch (NamingException ne) { |
|
ne.printStackTrace(); |
|
} catch (NullPointerException npe) { |
|
try { |
|
ds = (DataSource) ctx.lookup(MoumiConfig.getPMFProperties().getProperty("moumi.jndi.name")); |
|
} catch (NamingException e) { |
|
e.printStackTrace(); |
|
} |
|
} |
|
} |
|
|
|
public Connection getConnection() throws SQLException { |
|
if (ds == null) { |
|
try { |
|
ds = (DataSource) ctx.lookup(MoumiConfig.getPMFProperties().getProperty("moumi.jndi.name")); |
|
} catch (NamingException e) { |
|
e.printStackTrace(); |
|
} |
|
} |
|
Connection con = ds.getConnection(); |
|
con.setAutoCommit(true); |
|
return con; |
|
} |
|
|
|
protected void close(Connection con) { |
|
try { |
|
if (con != null) |
|
con.close(); |
|
} catch (SQLException ex) { |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
|
|
protected void close(Statement stmt) { |
|
try { |
|
if (stmt != null) |
|
stmt.close(); |
|
} catch (SQLException ex) { |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
|
|
protected void close(PreparedStatement pstmt) { |
|
try { |
|
if (pstmt != null) |
|
pstmt.close(); |
|
} catch (SQLException ex) { |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
|
|
|
|
protected void close(ResultSet rs) { |
|
try { |
|
if (rs != null) |
|
rs.close(); |
|
} catch (SQLException ex) { |
|
//31.오류 상황 대응 부재_CWE-390 Add by YOUNGJUN,CHO |
|
ex.printStackTrace(); |
|
//++++++++++++++++++++++++++++++++++++++++++++++++ |
|
} |
|
} |
|
}
|
|
|