📄 dbhelper.java~1~
字号:
/*******************************************************************************
* 文件名: DBHelper.java <br>
* 版本: <br>
* 描述: 定义创建和关闭与tomcat之间的连接 <br>
* 版权所有: <br>
* //////////////////////////////////////////////////////// <br>
* 创建者: 张建<br>
* 创建日期: 2005-12-10 <br>
* 修改者: <br>
* 修改日期: <br>
* 修改说明: <br>
******************************************************************************/
package com.hope.common.util.db;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import com.hope.common.exception.BaseException;
/**
* 定义创建和关闭与tomcat之间的连接
*/
public class DBHelper {
private static Hashtable env = null;
private static Context ctx = null;
private static DataSource ds = null;
private static Connection conn = null;
/**
* 定义ConnDB的私有构造器
*/
private DBHelper() {
}
/**
* 定义获取数据库连接的方法,返回Connection供具体方法中使用
*
* @return Connection
*/
public static Connection getConnection() throws BaseException {
return getConnection(DBConfig.getDataBaseName("3"), "3");
}
/**
* 定义获取数据库连接的方法,返回Connection供具体方法中使用
*
* @param dbName
* dbName为数据库名字,如:Oracle为oracle,MS SQL为mssql
* @param key
* key为根据属性文件中的命名规则(“DataBaseName_N”)中的“N”
* @return Connection
*/
public static Connection getConnection(String dbName, String key) throws
BaseException {
env = new Hashtable();
try {
//装载属性文件,获取tomcat服务器上定义的数据源,获取连接
ctx = new InitialContext();
//env.put(Context.INITIAL_CONTEXT_FACTORY, DBConfig.getInitialContextFactory(dbName, key));
//env.put(Context.PROVIDER_URL, DBConfig.getProviderURL(dbName, key));
// ds = (DataSource) ctx.lookup(DBConfig.getDataSourceName(dbName, key));
// System.out.println("=========================="+DBConfig.getInitialContextFactory(dbName, key));
// System.out.println("=========================="+DBConfig.getDataSourceName(dbName, key));
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/ItIssue");
conn = ds.getConnection();
} catch (NamingException e) {
// 抛出自定义异常
e.printStackTrace();
throw new BaseException("get DB Connection Exception !!!");
} catch (SQLException e) {
// 抛出自定义异常
e.printStackTrace();
throw new BaseException("get DB Connection Exception !!!");
}
return conn;
}
/**
* 定义关闭连接等的方法
*
* @param conn
* @param pstmt
*/
public static void release(Connection conn, PreparedStatement pstmt) throws
BaseException {
release(conn, pstmt, null);
}
/**
* 定义关闭连接等的方法
*
* @param conn
* @param pstmt
* @param rs
*/
public static void release(Connection conn, PreparedStatement pstmt,
ResultSet rs) throws BaseException {
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
// 抛出自定义异常
e.printStackTrace();
throw new BaseException("error.dBHelperRelease.fail");
}
}
public static void main(String[] args) {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -