JDBC实现简单的连接池代码
2012-02-01 17:14
375 查看
JDBC实现简单的连接池代码
博客分类:JDBC
JDBCJavaSQLMicrosoft
连接池类:MyDataSource.java
Java代码
package com.itcast.myjdbc.pool;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.LinkedList;
public class MyDataSource {
private static final String url="jdbc:sqlserver://localhost:1433;DatabaseName=mytest";
private static final String username="sa";
private static final String password="123456";
//LinkedListy用来添加链接,添加、删除元素比较快。
private LinkedList<Connection> pool = new LinkedList<Connection>();
private int initCount =5;//容器中初始化添加数目
private int maxCount = 10;//容器中最大可以添加的数目
int currentCount = 0;//当前使用的连接数
public MyDataSource() {//初始化添加链接
for(int i=0; i<initCount; i++) {
this.pool.addLast(createConnection());
this.currentCount++;
}
}
public Connection getConnection() throws SQLException {//获取链接
synchronized(pool) {
if(this.pool.size()>0) {
return pool.removeFirst();
}
if(this.currentCount<maxCount) {
return createConnection();
}
throw new SQLException("已没有链接");
}
}
public void free(Connection conn) {//释放链接
pool.addLast(conn);
}
public Connection createConnection() {//创建连接
Connection conns = null;
try {
conns = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
System.out.println("创建链接失败");
}
return conns;
}
public LinkedList<Connection> getPool() {
return pool;
}
public void setPool(LinkedList<Connection> pool) {
this.pool = pool;
}
}
测试类:Test .java
Java代码
package com.itcast.myjdbc.pool;
import java.sql.Connection;
import java.sql.SQLException;
public class Test {
public static void main(String[] args) throws SQLException {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
System.out.println("加载驱动失败");
}
MyDataSource myDatasource = new MyDataSource();
for(int i=0; i<30; i++) {//输出三十个连接
Connection conn = myDatasource.getConnection();
System.out.println(conn);
myDatasource.free(conn);
}
}
}
相关文章推荐
- 简单JDBC连接池的实现
- JDBC连接池:自定义连接池代码实现
- JDBC以及相关技术学习(九)----简单的连接池实现
- JDBC连接池的简单实现
- Jdbc的步骤以及简单实现代码
- JDBC连接池的简单实现
- JDBC连接池的简单实现
- 简单实现jdbc连接数据库通用工具类(代码)
- ExtJs GridPanel简单的增删改实现代码
- 一个简单的PHP验证码实现代码
- C++实现简单走迷宫的代码
- java实现一个简单的网络爬虫代码示例
- 简单SNMP管理程序的VC++代码实例实现
- Linux下一个简单的日志系统的设计及其C代码实现
- asp.net 简单验证码验证实现代码
- 简单的NFA转DFA的代码实现
- HDOJ 2032 经典杨辉三角 java代码简单实现
- Java线程安全的计数器简单实现代码示例
- JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
- 200 行 Python 代码实现简单图片人像识别换脸