⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbhelper.java

📁 一个基于Java的新闻发布系统
💻 JAVA
字号:
/*******************************************************************************
 * 文件名: 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 + -