java学习笔记—第三方数据库连接池包1(29)

第一步:导入dbcp包

第二步:通过核心类连接数据

       BasicDataSource它是javax.sql.DataSrouce的子类。

       一个工具类:BasicDataSourceFactory。


 

手工通过代码连接数据库:

    BasicDataSource ds = new BasicDataSource();



       //设置driver



       ds.setDriverClassName("com.mysql.jdbc.Driver");



       //设置url



       ds.setUrl("jdbc:mysql:///db909?characterEncoding=UTf8");



       ds.setPassword("1234");



       ds.setUsername("root");



       ds.setMaxActive(5) ;//设置最多有几个连接



       ds.setInitialSize(2);//设置在开始时创建几个连接
  手工连接,不建议这么做。

第三步:创建一个资源文件

在dbcp中一个类专门用于读取资源文件的:

       BasicDataSourceFactory

#以下所有属性,都来自于BaiscDataSource的setXxxx
//增加一个配置文件jdbc.properties driverClassName
=com.mysql.jdbc.Driver url=jdbc:mysql:///db909 username=root password=1234 maxActive=3 Properties p = new Properties(); p.load(DbcpPool.class.getResourceAsStream("jdbc.properties")); DataSource ds = new BasicDataSourceFactory().createDataSource(p) ;

第四步、使用连接池

在一个项目中,就只能拥有一个DataSource的实例。在这个dataqSource3中有多个Connectioin。

声明一个工厂类,创建维护唯一的一个DataSource

package cn.itcast.utils;

import java.sql.Connection;

import java.sql.SQLException;

import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSourceFactory;

public class DataSourceUtils {

    private DataSourceUtils(){}

    private static DataSource ds; 

    static{

        try{

            Properties p = 

                    new Properties();

            p.load(DataSourceUtils

.class.getClassLoader() 

.getResourceAsStream("jdbc.properties"));

            ds = 

                    new BasicDataSourceFactory().createDataSource(p); 

        }catch(Exception e){}

    }

    //返回一个唯一的连接

    public static Connection getCon(){ 

        Connection con = null;

        try {

            con = ds.getConnection();

        } catch (SQLException e) {

            e.printStackTrace();

        }

        return con;

    }

    //提供一个方法返回DataSource

    public static DataSource getDs(){ 

        return ds;

    }

}

 

 

你可能感兴趣的:(数据库连接池)