java mysql connection pool_jdbc如何实现connection pool

第三步:驱动连接池工具类Jdbcpool。

import com.example.excelimport.jdbc.util.BASEUtils;

import javax.sql.DataSource;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.SQLFeatureNotSupportedException;

import java.util.LinkedList;

import java.util.logging.Logger;

public class Jdbcpool implements DataSource {

private static LinkedList coos = new LinkedList();

private static Connection coo;

private static int minpool = 20;

static {

int i = 0;

for (i = 0; i < minpool; i++) {

try {

coo = DriverManager.getConnection(BASEUtils.getDBURL(),

BASEUtils.getUSERNAME(), BASEUtils.getPASSWORD());

} catch (SQLException e) {

e.printStackTrace();

}

coos.add(coo);

new Connectionpool(coo, coos);

System.out.println("已加入了" + coos.size() + "个线程池");

}

}

public static void addgetConnection() throws SQLException {

int i = 3;

while (i < 3) {

try {

coo = DriverManager.getConnection(BASEUtils.getDBURL(),

BASEUtils.getUSERNAME(), BASEUtils.getPASSWORD());

} catch (SQLException e) {

e.printStackTrace();

}

coos.add(coo);

new Connectionpool(coo, coos);

i--;

}

}

@Override

public Connection getConnection() throws SQLException {

Connection coo = null;

if (coos.size() > 0) {

coo = coos.removeFirst();

System.out

.println("又一个连接对象被拿走:::::::连接池还有" + coos.size() + "个连接对象");

} else {

System.out.println("接口已被全部占用");

}

return coo;

}

@Override

public Connection getConnection(String username, String password)

throws SQLException {

return null;

}

@Override

public T unwrap(Class iface) throws SQLException {

return null;

}

@Override

public boolean isWrapperFor(Class> iface) throws SQLException {

return false;

}

@Override

public PrintWriter getLogWriter() throws SQLException {

return null;

}

@Override

public void setLogWriter(PrintWriter out) throws SQLException {

}

@Override

public void setLoginTimeout(int seconds) throws SQLException {

}

@Override

public int getLoginTimeout() throws SQLException {

return 0;

}

@Override

public Logger getParentLogger() throws SQLFeatureNotSupportedException {

return null;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值