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

本文展示了一个使用Java实现的数据库连接池示例程序,通过ConnectionManager初始化连接池并执行简单的SQL查询来计数数据库表中的记录数。示例中包含了MySQL数据库的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
	#}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值