DBCP:常见的数据库连接池(数据源)

来源:互联网 发布:产品数据分析 编辑:程序博客网 时间:2024/06/09 14:36

1 . DBCP: DataBase Connection Pool 数据库连接池 ,Apache出的。 目的:类似于适配器模式。
2 . 使用步骤:
2.1.添加jar包(3个) mysql驱动,commons-dbcp-x.x.jar commons-pool-x.x.jar
2.2.添加属性配置文件(位置随意,名称自己定义)
2.3.调用该库中的数据源得到连接处理
2.4.后续执行
3 . 工具类

package com.qf.utils;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import org.apache.commons.dbcp.BasicDataSourceFactory;public class DBCPUtils {    private static   DataSource  ds=null;    static {        try {            //1.创建属性文件对象             Properties properties =new Properties();            //2.装载配置属性文件dbcpconfig.properties             InputStream iStream= DBCPUtils.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");             properties.load(iStream);                //1.根据工厂类BasicDataSourceFactory得到数据源             ds = BasicDataSourceFactory.createDataSource(properties);        } catch (Exception e) {            // TODO: handle exception        }    }    public  static Connection getConnection() {           try {            return   ds.getConnection();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return null;    }

4 .测试类

package com.qf.utils;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import org.junit.Test;public class TestDBCP {    @Test    public void test01() {        try {            Connection connection = DBCPUtils.getConnection();            System.out.println(connection);            PreparedStatement preparedStatement = connection.prepareStatement("select * from user");            ResultSet resultSet = preparedStatement.executeQuery();            while (resultSet.next()) {                System.out.println("=name="+resultSet.getString("name"));               }        } catch (Exception e) {            // TODO: handle exception        }    }}

5 . properties配置文件

#连接配置driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/1713_transactionusername=rootpassword=123#<!-- 默认连接的个数-->initialSize=10#<!--最大连接活跃数量-->maxActive=50#<!--最大空闲的连接个数 -->maxIdle=20#<!--最小空闲的连接个数  -->minIdle=5#<!--最长的等待时间-->maxWait=60000#<!--设置属性文件连接数据的编码,为了避免中文乱码-->connectionProperties=useUnicode=true;characterEncoding=utf8#默认自动管理事务defaultAutoCommit=true#默认只读defaultReadOnly=#默认使用的数据库隔离级别是REPEATABLE_READ(重复读)defaultTransactionIsolation=REPEATABLE_READ
阅读全文
0 0
原创粉丝点击