jsp 数据库连接池代码

这是一个Java类,用于创建和管理数据库连接池。它使用ArrayList存储Connection对象,并提供了获取、关闭连接以及将连接返回到池中的方法。示例代码支持SQL Server数据库的连接,包括数据库URL、用户名和密码的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package connect;

import java.sql.*;
import java.util.ArrayList;
public class DBConnection {
	//存放Connection对象的数组,数组被看成连接池
	static ArrayList<Connection> list=new ArrayList<Connection>();
	//从连接池中取出一个连接对象
	public synchronized static  Connection getOneCon(){
		//如果连接池中有连接对象
		if(list.size()>0){
			return list.remove(0);
		}
		//连接池没有连接对象创建连接放到连接池中
		else{
			for(int i=0;i<5;i++){
				try {
					 //Class.forName("oracle.jdbc.driver.OracleDriver");
                  //  Class.forName("com.mysql.jdbc.Driver");
					 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                    String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=S_Md";
                    String userName = "140551124"; // 默认用户名
                    String userPwd = "140551124"; // 密码
                    Connection  con=DriverManager.getConnection(dbURL, userName, userPwd);
                 //   Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/adsystem","root","123456");
//Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","system");
					list.add(con);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			return list.remove(0);
		}
	}
	//关闭结果集对象
	public static void close(ResultSet rs){
		try {
			if(rs!=null)
				rs.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	//关闭预处理语句
	public static void close(PreparedStatement ps){
		try {
			if(ps!=null)
				ps.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	//把连接对象放回连接池中
	public synchronized static void close(Connection con){
			if(con!=null)
				list.add(con);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值