首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

密文数据源联接发池 ConnectionTools 01

2012-09-19 
密文数据源连接发池 ConnectionTools 01import java.sql.Connectionimport java.sql.PreparedStatementi

密文数据源连接发池 ConnectionTools 01
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
import org.apache.log4j.Logger;

import com.huawei.ngbss.common.EncryptUtil;
import com.huawei.ngbss.esb.FileManager;

public class ConnectionTools
{
    private static BasicDataSource basicDateSource = null;

    private static Logger logger = Logger.getLogger(ConnectionTools.class);

    private static final String DB_FILE_NAME = "db.properties";

    private static Map<String, Properties> dbPropMap = new HashMap<String, Properties>();

    private static String username = EncryptUtil.decryptDES(FileManager
            .getProperties(DB_FILE_NAME).getProperty("username"));

    private static String password = EncryptUtil.decryptDES(FileManager
            .getProperties(DB_FILE_NAME).getProperty("password"));

    /**
     * 初始化数据连接
     */
    static
    {
        init();
    }

    /*
     * 初始化数据库连接
     */
    static
    {
        init();
    }

    public static void init()
    {
        try
        {

            Properties prop = new Properties();
            prop = FileManager.getProperties(DB_FILE_NAME);
            prop.setProperty("username", username);
            prop.setProperty("password", password);
            dbPropMap.put(DB_FILE_NAME, prop);
            prop = null;
            basicDateSource = (BasicDataSource) BasicDataSourceFactory
                    .createDataSource(dbPropMap.get(DB_FILE_NAME));
            logger.info("This DB username was:" + username + "," + password);
        }
        catch (Exception e)
        {
            logger.info("Initial db pool is failure", e);
        }
        logger.info("Initial DB pool is successfully");
    }

    /**
     * Connection 2011-12-30,Xgw123485
     */
    public static Connection getConnection()
    {
        Connection connection = null;
        try
        {
            connection = basicDateSource.getConnection();
            logger.info("get db connection successful.");
        }
        catch (Exception e)
        {
            logger.error("get db connection failure.");
        }
        return connection;
    }

热点排行