一种简单JDBC数据库连接池的实现

import java.sql.*;
import net.snapbug.util.dbtool.*;

public class PoolSample {

    public PoolSample() {

    }

    public int sumRecord( ) {
        try {
            ConnectionPool pool = ConnectionManager.getConnectionPool( "testMySql" );
            Statement st = pool.createStatement();

            ResultSet rs = st.executeQuery( "select count(*) from pets" );
            rs.next();
            int count = rs.getInt( 0 );
            rs.close();
            st.close();
            return count;
        }
        catch (Exception ex) {
            ex.printStackTrace();
            return -1;
        }
    }

    public static void main(String[] args) {
        try {
            ConnectionManager.init( "DatabasePool.conf" );
            //ConnectionManager.debug( true );
        }
        catch (Exception ex) {
        }



        PoolSample sample = new PoolSample();
        System.out.println( "Records:" + sample.sumRecord() );
    }

}

 DatabasePool.conf 配置文件

 

logger {
	logDir = logs/connPool
	debug = true
}

DatabaseProfile {

	testOracle {
		driverClass = oracle.jdbc.driver.OracleDriver
		dbUrl = jdbc:oracle:thin:@192.168.3.205:1521:oracle
		dbUser = map
		dbPass = map
		connectionPoolSize= 5
		statementPoolSize= 80
		idleTimeout= 10
		shrinkInterval= 100
	}

	testMySql {
		driverClass = org.gjt.mm.mysql.Driver
		dbUrl = jdbc:mysql://192.168.7.200:3306/test
		dbUser = tester
		dbPass = abc123
		connectionPoolSize= 1
		statementPoolSize= 1
		idleTimeout= 120
		shrinkInterval= 60
	}

	#testSQLServer {
	#	driverClass = com.microsoft.jdbc.sqlserver.SQLServerDriver
	#	dbUrl = jdbc:microsoft:sqlserver://192.168.3.205:1433;DatabaseName=test
	#	dbUser = test
	#	dbPass = test
	#	connectionPoolSize= 10
	#	statementPoolSize= 100
	#	idleTimeout= 10
	#	shrinkInterval= 60
	#}

}

 

你可能感兴趣的:(oracle,sql,mysql,jdbc,Microsoft)