zoukankan      html  css  js  c++  java
  • DBCP数据库连接池的使用

    两个dbcp使用的架包:

                    commons-dbcp-1.4.jar   依赖于commons-pool-1.5.5.jar

                    commons-pool-1.5.5.jar

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

    TestDBCP

    package com.aff.connection;
    import java.io.File;
    import java.io.FileInputStream;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.Properties;
    import javax.sql.DataSource;
    import org.apache.commons.dbcp.BasicDataSource;
    import org.apache.commons.dbcp.BasicDataSourceFactory;
    import org.junit.Test;
    
    //测试DBCP的数据库连接池技术
    //DBCP数据库连接池的两种实现方式
    //BasicDataSource
    public class TestDBCP {
        // 方式一:
        @Test
        public void testGetConnection() throws SQLException {
            // 创建DBCP数据库连接池
            BasicDataSource source = new BasicDataSource();
    
            // 设置基本信息
            source.setDriverClassName("com.mysql.jdbc.Driver");
            source.setUrl("jdbc:mysql://localhost:3306/test");
            source.setUsername("root");
            source.setPassword("123456");
    
            // 其他设置数据库连接池管理的相关属性
            source.setInitialSize(10);
            source.setMaxActive(20);
    
            Connection conn = source.getConnection();
            System.out.println(conn);
        }
    
        // 方式二:推荐 使用配置文件
        @Test
        public void testGetConnection2() throws Exception {
    
            Properties pros = new Properties();
            //获取流的两种方式
            // ClassLoader.getSystemClassLoader().getResourceAsStream("dbcp.properties");//方式 一
            FileInputStream is = new FileInputStream(new File("src/dbcp.properties"));//方式 二
            pros.load(is);
    // 创建了一个DBCP数据库连接池 DataSource source
    = BasicDataSourceFactory.createDataSource(pros); Connection conn = source.getConnection(); System.out.println(conn); } }

    DBCP数据库连接池的配置文件

    dbcp.properties

    driverClassName=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/test
    username=root
    password=123456

    DBCP数据库连接池获取数据库连接

    JDBCUtilsDBCP

    package com.aff.util;
    import java.io.File;
    import java.io.FileInputStream;
    import java.sql.Connection;
    import java.util.Properties;
    import javax.sql.DataSource;
    import org.apache.commons.dbcp.BasicDataSourceFactory;
    
    //使用DBCP数据库连接池获取数据库连接
    public class JDBCUtilsDBCP {
    
        private static DataSource source;
        static {// 使用静态代码块处理
    
            try {
                Properties pros = new Properties();
                // 获取流的两种方式
                // ClassLoader.getSystemClassLoader().getResourceAsStream("dbcp.properties");
                FileInputStream is = new FileInputStream(new File("src/dbcp.properties"));
                pros.load(is);
    
                // 创建一个DBCP数据库连接池
                source = BasicDataSourceFactory.createDataSource(pros);
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
    
        public  static Connection getConnection() throws Exception {
            Connection conn = source.getConnection();
            return conn;
        }
    }

    测试DBCP数据库连接池获取的连接的使用

        @Test
        public void testGetCustomerById() {
            Connection conn = null;
            try {
                conn = JDBCUtilsDBCP.getConnection();
                Customer customer = dao.getCustomerById(conn, 20);
                System.out.println(customer);
                System.out.println("获取成功");
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                JDBCUtils.closeResource(conn, null);
            }
        }

    目录结构

    All that work will definitely pay off
  • 相关阅读:
    专业实训日志01
    《河北省重大技术需求征集系统》可用性及可修改性战术分析
    基于淘宝网的软件质量属性分析
    架构漫谈读后感之软件架构师如何工作
    模型-视图-控制器模式(MVC模式,10种常见体系架构模式之一)
    列举实例分析采用的可用性和可修改性战术
    以淘宝网为例的质量属性分析
    《架构漫谈》读后感 之“关于软件架构师如何工作”
    《软件需求(第二版)》阅读笔记06
    《软件需求(第二版)》阅读笔记05
  • 原文地址:https://www.cnblogs.com/afangfang/p/12684344.html
Copyright © 2011-2022 走看看