您的位置:首页 > 编程语言 > Java开发

Spring学习笔记(八):数据库连接池的小例子

2015-09-09 09:12 603 查看
附图

1、



2、



3、下面是某教学上的小例子:

编写一个基本的连接池,来实现连接的复用;思路:
1)在内存中创建一个集合,包含多条连接
2)获取连接时,直接从集合中获取集合对象
3)关闭连接时,将不用的集合对象再放入集合中
4)遵循先入先出的原则

public class MyDataSource
{
static
{
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch(classNotFoundException e)
{
throw new ExceptionInitializerError(e);
}
}
private static String url="jdbc:mysql://localhost:3306/test";
private static String user="root";
private static String password="root";

private LinkedList<Connection> pool=new LinkedList<Connection>();

public MyDataSource()
{
try
{
for(int i=0;i<10;i++)
pool.addLast(this.createConnection());
}
catch(SQLException e)
{
throw new ExceptionInitializerError(e);
}
}
public Connection getConnection()
{
return pool.removeFirst();
}
public void closeConnection(Connection conn)
{
pool.addLast(conn);
}
public Connection createConnection()
{
return DriverManager.getConnection(url,user,password);
}
}

public class MyDataSourceExperiment
{
public static void main(String[] args)
{
MyDataSource ds=new MyDataSource();
//取10个连接,看看是否是同一个连接
for(int i=0;i<10;i++)
{
Connection conn=ds.getConnection();
System.out.println(conn);
ds.close(conn);//关闭连接
}
}
}


4、

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: