JDBC2.数据库连接池技术

Posted 王六六的IT日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC2.数据库连接池技术相关的知识,希望对你有一定的参考价值。

数据库连接池技术

多种开源的数据库连接池


一、使用数据库连接池技术的好处?

  1. 更方便的获取连接对象,效率高
  2. 资源可以更好的重复利用
  3. 便于进行必要的管理

二、有哪些数据库连接池技术呢?

  • DBCP : 速度快,不稳定;
  • C3P0:稳定、速度慢 ;
  • Druid:兼具二者的优点

三、 DataSource 通常被称为数据源,它包含连接池和连接池管理两个部分,习惯上也经常把 DataSource 称为连接池

添加数据库连接池驱动👇druid

方式二要会写。

package com.atguigu.java1.druid;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.junit.Test;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;


public class DruidTest {

    /*
    * 方式一:使用Druid数据库连接池获取数据库的连接
    *
    * */
    @Test
    public void test1() throws SQLException {

        //看做是获取了一个数据库连接池
        DruidDataSource source = new DruidDataSource();

        //设置4个基本信息
        source.setUsername("root");
        source.setPassword("666666");
        source.setUrl("jdbc:mysql://localhost:3306/wanzi");
        source.setDriverClassName("com.mysql.jdbc.Driver");

        //还可以设置其他信息
        source.setMaxActive(10);
        source.setInitialSize(5);

        //获取连接池中的一个数据库连接
        Connection connection = source.getConnection();

        System.out.println(connection);
    }

    /*
    * 方式二:将数据库连接的基本信息声明在配置文件中
    *
    * */
    @Test
    public void test2() throws Exception {

        //提供Properties,并加载指定配置文件的流
        Properties pros = new Properties();
        InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
        //加载
        pros.load(is);

        //通过DruidDataSourceFactory创建一个数据源
        DataSource dataSource = DruidDataSourceFactory.createDataSource(pros);

        //通过数据源获取连接
        System.out.println(dataSource.getConnection());

    }
}

👇

以上是关于JDBC2.数据库连接池技术的主要内容,如果未能解决你的问题,请参考以下文章

技术分享前尘—数据连接池下的至暗之处

C3P0连接池的使用

C3P0连接池的使用

C3P0连接池操作数据库

c3p0数据库连接池的使用详解

主流Java数据库连接池分析(C3P0,DBCP,TomcatPool,BoneCP,Druid)