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

📄 dbutil.java

📁 银行项目为后台socket通信写的程序
💻 JAVA
字号:
/****************************************************************************
 * Package		: com.ecSolutions.ecAppServer.util
 * File			: DbUtil.java
 * Create Date  : 2007-7-20
 * Author		: Steven Chen
 * 
 * Copyright(C) 2006 ecSolutions(shanghai) Co.,Limited.All Rights Reserved.
 *			
 ***************************************************************************/
package com.ecSolutions.ecAppServer.util;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Hashtable;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

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

import com.ecSolutions.ecAppServer.Configuration;
import com.ecSolutions.ecAppServer.ecAppServerConfigException;

public class DbUtil {
	private static DbUtil instance = null;
	
	private static byte[] encryptKey = Constants.ENCRYPTKEY;
	private static DataSource ds = null;

	private static Logger log = Logger.getLogger("DbUtil");
	
	/*

	public static synchronized DbUtil getInstance() {
		if (instance == null) {
			instance = new DbUtil();
		}

		return instance;
	}
	*/
	public DbUtil() {

		//setupDataSource();

	}

	private static DataSource setupDataSource(String driver, String connectURI,String username, 
			String password, int initialSize, int maxActive, int maxIdle, int minIdle,int maxWait) {
		BasicDataSource ds = new BasicDataSource();
		ds.setDriverClassName(driver);
		ds.setUsername(username);
		ds.setPassword(password);
		ds.setUrl(connectURI);
		ds.setInitialSize(initialSize);
		ds.setMaxActive(maxActive);
		ds.setMaxIdle(maxIdle);
		ds.setMinIdle(minIdle);
		ds.setMaxWait(maxWait);
		return ds;
	}
	
	public static DataSource setupDataSource(Configuration config ) throws ecAppServerConfigException {
		if (ds == null){
			String driver = config.getString("jdbc.driver","oracle.jdbc.driver.OracleDriver");
			String url = config.getString("jdbc.url");
			String user = config.getString("jdbc.user");
			//get encrypted password using 3DES arithmetic
			String passwd = config.getString("jdbc.password");
			
			//decrypt it to plain pasword
			/*
			byte[] decrytedPasswd = null ;
			try {
				byte[] a = new sun.misc.BASE64Decoder().decodeBuffer(passwd);
				decrytedPasswd = CryptUtil.decrypt(a,encryptKey);
			} catch (Exception e) {
				log.error(e.toString());
				e.printStackTrace();
				throw new ecAppServerConfigException(e);
			}
			*/
			//passwd = Base64.bytesToBase64(decrytedPasswd).toString();
			//passwd = decrytedPasswd.toString();
			int initSize = config.getInt("pool.initSize",5);
			int maxActive = config.getInt("pool.maxActive",10);
			int maxIdle = config.getInt("pool.maxIdle",3);
			int minIdle = config.getInt("pool.minIdle",2);
			int maxWait = config.getInt("pool.maxWait",10000);
			ds = setupDataSource(driver,url,user,passwd,initSize,maxActive,maxIdle,minIdle,maxWait);
		}	
		return ds;

	}

	public static void printDataSourceStats(DataSource ds) throws SQLException {
		BasicDataSource bds = (BasicDataSource) ds;
		log.debug("NumActive: " + bds.getNumActive());
		log.debug("NumIdle: " + bds.getNumIdle());
	}

	public static void shutdownDataSource(DataSource ds) throws SQLException {
		BasicDataSource bds = (BasicDataSource) ds;
		bds.close();
	}

	public static Connection getConnection() throws SQLException {
		Connection conn = ds.getConnection();
		return conn;
	}

	public String toChinese(String s) {
		try {
			if (s == null) {
				return null;
			} else {
				s = new String(s.getBytes("ISO8859_1"), "GBK");
				return s;
			}
		} catch (Exception exception) {
			return null;
		}
	}

	public String toDB(String s) {
		try {
			if (s == null) {
				return null;
			} else {
				s = new String(s.getBytes("GBK"), "ISO8859_1");
				return s;
			}
		} catch (Exception exception) {
			return null;
		}
	}
	
	public static void destroy() throws SQLException {
		BasicDataSource bds = (BasicDataSource) ds;
		bds.close();
	}



}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -