如何实现一个简单的自定义数据库线程池

2020-10-21 19:15发布

3条回答

public class DIYDataSource {

/**

* 存放连接池中的数据库连接

*/

private List conns = new ArrayList<>();

/**

* 设置初始化连接池数

*/

public DIYDataSource() {

// TODO Auto-generated constructor stub

for (int i = 1; i <=5; i++) {

//   创建5个连接放入到conns

conns.add(DBUtil.getConnection());

}

System.out.println("当前连接数:" + conns.size());

}

/**

* 从连接池中取连接

* @return

*/

public Connection getConnectionFromDataSource() {

Connection conn = conns.remove(0);

System.out.println("当前连接数:" + conns.size());

return conn;

}

/**

* 把使用完的连接归还给连接池

* @param conn

*/

public void returnConnection(Connection conn) {

if(conn!=null) {

conns.add(conn);

System.out.println("当前连接数:" + conns.size());

}

}

public static void main(String[] args) {

DIYDataSource ds = new DIYDataSource();

// 从连接池中取连接

Connection conn = ds.getConnectionFromDataSource();

System.out.println("-----CRUDing------");

// 连接使用完毕归还连接给数据库连接池

ds.returnConnection(conn);

}

}

一周热门 更多>