DBCP数据库连接池技术的两种实现方式

一、

  导入相应的jar包,DBCP数据库连接池技术的两种实现方式

方式一如下

 

 二、

  DataSource source = null;不管是C3P0还是DBCP或者其他数据库连接池第一步都是DataSource source = null,Ctrl+T 获取DataSource实现的类,找到BasciDataSource的构造方法,

BasicDataSource source = new BasicDataSource();//创建DBCP的数据库连接池

 具体有什么方法可以查看API文档  查看文档的方法:在commons-pool-1.5.5\apidocs\index.html里查看

三、设置基本信息

查看API文档 source调用相应额set方法

source.setDriverClassName("com.mysql.jdbc.Driver");
source.setUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC");
source.setUsername("root");
source.setPassword("123");

四、设置其他涉及数据库连接池相关管理的属性

 方式二使用配置文件如下

一、查API,BasicDataSourceFactory

BasicDataSourceFactory.createDataSource(Properties properties)需要注意的是如果直接这么写的话参数不是Properties而是args,此时需要导入源码commons-dbcp-1.4-src.zip

BasicDataSourceFactory.createDataSource(properties);到这里就需要创建一个Properties的对象即配置文件,创建文件写好配置信息,

username=root
password=123
url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
driverClassName=com.mysql.jdbc.Driver

 

用properties.load方法加载配置文件,

FileInputStream is = new FileInputStream(new File("src/dbcp.properties"));//和下边的方法的区别就是这个方法的目录需要加上src/    因为这个方法创建字符流对象默认是在当前项目下
properties.load(is);

或者InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("dbcp.properties");用类的加载器获取字符流对象然后加载

        Properties properties = new Properties();
        //InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("dbcp.properties");
        FileInputStream is = new FileInputStream(new File("src/dbcp.properties"));
        properties.load(is);
        DataSource dataSource = BasicDataSourceFactory.createDataSource(properties);
        Connection con = dataSource.getConnection();
        System.out.println(con);

 

DBCP数据库连接池技术的两种实现方式

上一篇:IContainerProviderAccessor.ContainerProvider returned null


下一篇:mysql的CURRENT_TIMESTAMP【转】