C3P0数据库连接池的使用工具和使用数据库连接池来进行查询操作


/**
 *C3P0数据库连接池的使用工具
 */
import java.beans.PropertyVetoException;


import com.mchange.v2.c3p0.ComboPooledDataSource;


public class C3POUtils {
public static ComboPooledDataSource cpds=null;
//使用静态代码块保证数据库连接池只加载一次
static{
try {
System.out.println("初始化数据库连接池");
cpds=new ComboPooledDataSource();
cpds.setDriverClass("com.mysql.jdbc.Driver");
cpds.setJdbcUrl("jdbc:mysql://localhost/mysql0323");
cpds.setUser("root");
cpds.setPassword("root");
cpds.setMinPoolSize(5);//数据库连接池中最少连接数
cpds.setAcquireIncrement(5);//当前空闲不足时,每次自动增加的连接数
cpds.setMaxPoolSize(20);//数据库连接池中最多的连接数
cpds.setInitialPoolSize(10);//初始化的时候连接池中空闲连接的数目

} catch (PropertyVetoException e) {
e.printStackTrace();
}
}

}



/**
 * 数据库连接池的使用方法
 */
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;




public class TestDemo {
static Connection connection=null;
static PreparedStatement statement=null;
static ResultSet resultSet=null;
//使用连接池进行查询操作
public static  void  selectTest() {
try {
connection=C3POUtils.cpds.getConnection();
statement=connection.prepareStatement("select * from users");
resultSet=statement.executeQuery();
while (resultSet.next()) {
System.out.println("查询到用户名");
int id=resultSet.getInt(1);
String username=resultSet.getString(2);
String passwords=resultSet.getString(3);
System.out.println("id="+id+"\t用户名="+username+"\t密码="+passwords);
}
} catch (SQLException e) {
e.printStackTrace();
}

}
public static void main(String[] args) {
selectTest();
/*for (int i = 0; i < 3; i++) {
//从数据库连接池中获取数据库连接
try {
connection=C3POUtils.cpds.getConnection();
System.out.println("数据库连接成功");
} catch (SQLException e) {
e.printStackTrace();
}finally {
if (connection!=null) {
//必须关掉,如果不关掉会产生
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//finally不可以单独出现因此不可以写finally
//当不再使用的时候再关闭数据库连接池,当服务器被关掉的时候再关闭数据库连接池
if (C3POUtils.cpds!=null) {
C3POUtils.cpds.close();
}*/

}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值