/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.core.cachepool.extend.connection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import com.jinhe.tss.core.ConfigurableContants;
import com.jinhe.tss.core.exception.BusinessException;
/**
* <p> DBHelper.java </p>
*
* @author Jon.King 2007-1-3
*
*/
public class DBHelper extends ConfigurableContants {
public static final String DB_CONNECTION_DRIVER_CLASS = "db.connection.driver_class";
public static final String DB_CONNECTION_URL = "db.connection.url";
public static final String DB_CONNECTION_USERNAME = "db.connection.username";
public static final String DB_CONNECTION_PASSWORD = "db.connection.password";
public static Connection getConnection() {
return getConnection(properties);
}
public static Connection getConnection(Properties p) {
Connection conn = null;
try {
Class.forName(p.getProperty(DB_CONNECTION_DRIVER_CLASS));
conn = DriverManager.getConnection(p.getProperty(DB_CONNECTION_URL),
p.getProperty(DB_CONNECTION_USERNAME),
p.getProperty(DB_CONNECTION_PASSWORD));
} catch (ClassNotFoundException e) {
throw new BusinessException("创建数据库连接时候出错", e);
} catch (SQLException e) {
throw new BusinessException("创建数据库连接时候出错", e);
}
return conn;
}
public static void releaseConnection(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
throw new BusinessException("销毁数据库连接时候出错", e);
}
}
}
public static long executeSQL(Connection connection, String sql) {
try {
PreparedStatement st = connection.prepareStatement(sql);
try {
ResultSet resultSet = st.executeQuery();
resultSet.next();
return resultSet.getLong(1);
} catch (SQLException sqle) {
throw new BusinessException("执行SQL语句时出错!", sqle);
} finally {
st.close();
}
} catch (Exception e) {
throw new BusinessException("执行SQL语句时出错!", e);
}
}
}