九、使用连接池优化操作dbcp

使用连接池优化操作dbcp

常用的连接池:
DBCP:(理解)
apache组织
使用步骤:
1.导入jar包(commons-dbcp-1.4.jar和commons-pool-1.5.6.jar)
2.使用api
a.硬编码
//创建连接池
BasicDataSource ds = new BasicDataSource();

//配置信息
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql:///day07");
ds.setUsername("root");
ds.setPassword("1234");
b.配置文件
实现编写一个properties文件
//存放配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/dbcp.properties"));
//设置
//prop.setProperty("driverClassName", "com.mysql.jdbc.Driver");

//创建连接池
DataSource ds = new BasicDataSourceFactory().createDataSource(prop);

代码展示

package com.jdbc.dbcp;


import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;


import javax.sql.DataSource;


import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
import org.junit.Test;


public class DbcpDemo {
    @Test
    //硬编码
public void f1() throws SQLException {
    // 创建连接池
      BasicDataSource   ds=  new BasicDataSource();
      
    //配置信息
      ds.setDriverClassName("com.mysql.jdbc.Driver");
      ds.setUrl("jdbc:mysql:///students");
      ds.setUsername("root");
      ds.setPassword("");
      //获取连接
      Connection conn=ds.getConnection();
      //编写sql
      String sql="insert into sinfor values(?,?)";
      //创建语句执行者
      PreparedStatement st=conn.prepareStatement(sql);
      //设置参数
      st.setString(1, "8");
      st.setString(2, "aoteman");
      //执行语句
      int i=st.executeUpdate();
      if(i==1) {
      System.out.println("success");
      }else {
      System.out.println("fail");
      }
      //释放资源
      jdbcutils2.closeResource(conn, st,null);

    }

 

    @Test
    public void f2() throws Exception {
    //存放配置文件
    Properties prop=new Properties();
    prop.load(new FileInputStream("src/dbcp.properties"));
    //创建连接池
    DataSource ds= new BasicDataSourceFactory().createDataSource(prop);
     //获取连接
     Connection conn=ds.getConnection();
    //编写sql
    String sql="insert into sinfor values(?,?)";
    //创建语句执行者
    PreparedStatement st=conn.prepareStatement(sql);
    //设置参数
    st.setString(1, "9");
    st.setString(2, "xiaoli");
    //执行语句
    int i=st.executeUpdate();
    if(i==1) {
    System.out.println("success");
    }else {
    System.out.println("fail");
    }
    //释放资源
    jdbcutils2.closeResource(conn, st,null);
    }
}

备注:由于个人原因,本博客暂停更新。如有问题可联系本人,本人提供技术指导、学习方向、学习路线。本人微信wlp1156107728(添加注明来意)   QQ1156107728(添加注明来意)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值