你的位置:首页 > Java教程

[Java教程]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.propertiesdriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql:///db909username=rootpassword=1234maxActive=3Properties 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;  }}