javaWeb(九)数据库连接池(DBCP、C3P0)、DBUtils

数据库连接池和DBUtils可以优化数据库连接和增删减改的工作,对比前面我们将连接和释放资源的操作又改善了一下


1、数据库连接池

数据库的连接对象创建工作,比较消耗性能。

步骤:

.一开始现在内存中开辟一块空间(集合) , 一开先往池子里面放置 多个连接对象。 后面需要连接的话,直接从池子里面去。不要去自己创建连接了。 使用完毕, 要记得归还连接。确保连接对象能循环利用。

在这里插入图片描述

DBCP开源连接池:

  1. 导入jar文件:DBCP.jar
  2. 不使用配置文件:
public void testDBCP01(){
   


    Connection conn = null;
    PreparedStatement ps = null;
    try {
   

        //1. 构建数据源对象
        BasicDataSource dataSource = new BasicDataSource();
        //连的是什么类型的数据库, 访问的是哪个数据库 , 用户名, 密码。。
        //jdbc:mysql://localhost/bank 主协议:子协议 ://本地/数据库
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost/bank");
        dataSource.setUsername("root");
        dataSource.setPassword("root");


        //2. 得到连接对象
        conn = dataSource.getConnection();
        String sql = "insert into account values(null , ? , ?)";
        ps = conn.prepareStatement(sql);
        ps.setString(1, "admin");
        ps.setInt(2, 1000);

        ps.executeUpdate();

    } catch (SQLException e) {
   
        e.printStackTrace();
    }finally {
   
        JDBCUtil.release(conn, ps);
    }

}
  1. 使用配置文件:
Connection conn = null;
PreparedStatement ps = null;
try {
   
    BasicDataSourceFactory factory = new BasicDataSourceFactory();
    Properties properties = new Properties();
    InputStream is = new FileInputStream("src//dbcpconfig.properties");
    properties.load(is);
    DataSource dataSource = factory.createDataSource(properties);

    //2. 得到连接对象
    conn = dataSource.getConnection();

    String sql = "insert into account values(null , ? , ?)";
    ps = conn.prepareStatement(sql);
    ps.setString(1, "liangchaowei");
    ps.setInt(2, 100);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值