常见开源数据库连接池的使用

在实际开发中 不会自己实现连接池,因为自己写的连接池会有很多bug,而且现在有很多开源的数据库连接池供我们使用,因此我们可以使用开源的数据库连接池,
有两种常见的数据库连接池
1.Apache commons-dbcp连接池
2.c3p0连接池
一、当使用Apache DBCP需要下载commons-dbcp.jar commons-pool.jar
apache commons子目录下zip包没有快速入门文档,只有API
需要手动设置四个参数
编写properties文件———properties加载文件

Properties properties=new Properties(); properties.load(new
FileInputStream(this.getClass().getResource(“/pro.properties”).getFile()));
DataSource datasource=(DataSource)
BasicDataSourceFactory.createDataSource(properties);
下边是利用dpcp不使用properties文件进行设置的代码
//使用BasicDataSource创建连接池
BasicDataSource basicDataSource=new BasicDataSource();
//创建连接池一次性创建多个连接池

    //连接池需要四个参数
    basicDataSource.setDriverClassName("com.mysql.jdbc.Driver");
    basicDataSource.setUrl("jdbc:mysql://localhost:3306/day14");
    basicDataSource.setUsername("root");
    basicDataSource.setPassword("");
    //从连接池中获取连接
    Connection con=basicDataSource.getConnection();

二、使用c3p0连接池
首先下载c3p0解压后有doc等几个目录文件
其中doc目录下有使用入们index.html文件
主要类是ComboPooledDataSource
可以进行手动设置参数

public void test() throws PropertyVetoException, SQLException{
//创建一个连接池
ComboPooledDataSource datasource=new ComboPooledDataSource();
//设置四个参数
datasource.setDriverClass(“com.mysql.jdbc.Driver”);
datasource.setJdbcUrl(“jdbc:mysql://localhost:3306/day14”);
datasource.setUser(“root”);
datasource.setPassword(“wdl03707552882”);

    //创建连接
    Connection con=datasource.getConnection();
    String sql="select * from account";
    PreparedStatement s=(PreparedStatement) con.prepareStatement(sql);
    ResultSet r=s.executeQuery();

也可以采用自动加载xml文件的方式

public void demo2() throws SQLException{
//使用配置文件xml加载驱动等四项文件内容
ComboPooledDataSource data=new ComboPooledDataSource();
//程序会自动加载src目录下的’c3p9-config.xml’文件无需引入xml文件自动加载
Connection con=data.getConnection();
String sql=”select * from account”;
PreparedStatement s=(PreparedStatement) con.prepareStatement(sql);
ResultSet r=s.executeQuery();
while(r.next()){
System.out.println(“—–姓名==为”+r.getDouble(“money”));
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uniquewdl

匆忙的人生,总有你喜欢的文章

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值