自定义数据库连接池

Posted gxlaqj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义数据库连接池相关的知识,希望对你有一定的参考价值。

直接上代码

package cn.sm1234.controller; import java.io.PrintWriter; import java.sql.Connection; import java.sql.SQLException; import java.sql.SQLFeatureNotSupportedException; import java.util.LinkedList; import java.util.List; import java.util.logging.Logger; import javax.sql.DataSource; import com.sun.istack.
internal.Pool; public class MyPool implements DataSource /**创建一个容器存放数据库连接池*/ static List<Connection> pool = new LinkedList<Connection>(); /**静态类初始化数据库连接*/ static for (int i = 0; i < 10; i++) //可以从工具类里面获取数据库的连接池, 如下: //Connection con = JDBCUtils.getConnection(); pool.add(con); /**提供给外界connection方法,外界用来获取数据库连接*/ public Connection getConnection() throws SQLException //从连接池中移除一个对象并返回这个对象 Connection conn = pool.remove(0); return conn; /**提供一个返回连接的方法*/ public void returnConnection(Connection conn) try if (conn!=null && !conn.isClosed()) pool.add(conn); catch (Exception e) // TODO: handle exception public PrintWriter getLogWriter() throws SQLException // TODO Auto-generated method stub return null; public void setLogWriter(PrintWriter out) throws SQLException // TODO Auto-generated method stub public void setLoginTimeout(int seconds) throws SQLException // TODO Auto-generated method stub public int getLoginTimeout() throws SQLException // TODO Auto-generated method stub return 0; public Logger getParentLogger() throws SQLFeatureNotSupportedException // TODO Auto-generated method stub return null; public <T> T unwrap(Class<T> iface) throws SQLException // TODO Auto-generated method stub return null; public boolean isWrapperFor(Class<?> iface) throws SQLException // TODO Auto-generated method stub return false; public Connection getConnection(String username, String password) throws SQLException // TODO Auto-generated method stub return null;

 

以上是关于自定义数据库连接池的主要内容,如果未能解决你的问题,请参考以下文章

自定义连接池

MySQL自定义数据库连接池和开源数据库连接池的使用

自定义连接池(装饰者模式)

如何管理自定义数据库连接池

Java-自定义简单的mysql数据库连接池

自定义数据库连接池实现方式 MySQL