knu project
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

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();
//++++++++++++++++++++++++++++++++++++++++++++++++
}
}
}