databaseconnection.java

来自「留言簿架构 oracle 9i + jsp + struts 留言」· Java 代码 · 共 85 行

JAVA
85
字号
package com.guestbook.sys;

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Hashtable;
import java.util.Properties;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class DataBaseConnection
{
	private static final Log logger = LogFactory.getLog( DataBaseConnection.class );
	private static Hashtable dynamicParameter = null;
	
	private DataBaseConnection()
	{
	}
	
	
	private static void putToHashtable( Object key, Object value )
	{
		if( value != null )
		{
			dynamicParameter.put( key, value );
		}
	}
	
	private static Hashtable getDynamicParameter()
	{
		if( dynamicParameter == null )
		{
			dynamicParameter = new Hashtable( 5 );
			Properties properties = new Properties();
	        try
	        {
	        	//文件被放在classes的根路径下
	        	InputStream in = SysInfo.class.getClassLoader().getResourceAsStream( "init.properties" );
	            properties.load( in );
	            putToHashtable( "datasource.ip", properties.get( "datasource.ip" ) );
	            putToHashtable( "datasource.port", properties.get( "datasource.port" ) );
	            putToHashtable( "datasource.sid", properties.get( "datasource.sid" ) );
	            putToHashtable( "datasource.username", properties.get( "datasource.username" ) );
	            putToHashtable( "datasource.password", properties.get( "datasource.password" ) );
	        }
	        catch( IOException exp )
	        {
	        	logger.error( exp );
	        }
		}
		
		return dynamicParameter;
	}
	
	
	public static Connection getConnection() throws ClassNotFoundException,SQLException
	{
//		第一步,建立驱动程序实例 
		Class.forName("oracle.jdbc.driver.OracleDriver"); 
//		第二步,获得连接 
		Connection conn = null;

		String ip = getDynamicParameter().get( "datasource.ip" ).toString();
		String port = getDynamicParameter().get( "datasource.port" ).toString();
		String sid = getDynamicParameter().get( "datasource.sid" ).toString();
		String username = getDynamicParameter().get( "datasource.username" ).toString();
		String password = getDynamicParameter().get( "datasource.password" ).toString();

		try
		{
			//conn = DriverManager.getConnection("jdbc:oracle:oci8:@tos", "lee", "lee");
			conn = DriverManager.getConnection("jdbc:oracle:thin:@"+ ip +":"+ port +":"+ sid, username, password); 
			//conn = DriverManager.getConnection("jdbc:oracle:thin:@10.87.34.108:1521:oracledb", "lee", "lee");
		}
		catch( Exception exp )
		{
			logger.error( exp );
			throw new SQLException();
		}
		conn.setAutoCommit( false );
		return conn;
	}
}

⌨️ 快捷键说明

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