首先我们要定义一个连接池,就需要存储一些连接在里面,我们就需要集合来存储。当然这个连接池需要定义在静态代码块里面,集合定义在静态代码块里面,我们就需要在静态代码块外面定义一个集合成员变量。那我们定义连接池的集合就需要使用LinkedList集合啦。
//1.定义一个集合成员变量
private static LinkedList<Connection> pools=new LinkedList<>();
//2.在静态代码块中初始化一些连接
static {
for (int i = 0; i < 5; i++) {
// 有异常我们try,catch
try {
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
//创建连接,这个连接是连接我自己的数据库
String url="jdbc:mysql://localhost:3306/day16_1?useSSL=false";
Connection connection= DriverManager.getConnection(url,"root","root");
//把连接添加到连接池的容器当中
pools.add(connection);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
现在我们有了5个连接对象,接下来我们需要提供2个非静态的方法,一个用来获取连接,一个用来归还连接,我们还可以定义一个方法来获取连接池中的连接数量
//3.提供非静态的方法,用来获取一个连接
public Connection getCon(){
//从连接池中获得一个连接
Connection connection=pools.removeFirst();
//返回连接
return connection;
}
//4.