zoukankan      html  css  js  c++  java
  • 14.连接池.md


    目录

    连接池定义

    使用统一的规范:javax.sql.DataSource实现统一编程

    常用开源连接池:

    • DBCP:tomcat
    • C3P0:hibernate

    DBCP:

    核心类::核心类BasicDataSource
    Demo:

    package per.liyue.code.connectionpool;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    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;
    public class DbcpDemo {
        @Test
        public void Demo1() throws Exception{
            /*
             * 硬编码形式实现:核心类BasicDataSource
             */
            BasicDataSource db = new BasicDataSource();
            db.setUrl("jdbc:mysql:///hi");                   //数据库连接字符串
            db.setDriverClassName("com.mysql.jdbc.Driver");  //驱动
            db.setUsername("root");                          //用户名
            db.setPassword("root");                          //密码
            db.setInitialSize(3);                            //初始化连接
            db.setMaxActive(6);                              //最大连接
            db.setMaxIdle(3000);                             //最大空闲时间
            
            Connection conn = db.getConnection();
            conn.prepareStatement("show tables").execute();
            conn.close();
            
            /*
             * 配置文件实现
             */
            //加载配置文件
            Properties prop = new Properties();
            //获取文件信息
            InputStream inStream = DbcpDemo.class.getResourceAsStream("mydbcp.properties");
            prop.load(inStream);
            //根据配置创建数据源对象
            DataSource dbProp = BasicDataSourceFactory.createDataSource(prop);
            //获取连接
            Connection connProp = db.getConnection();
            connProp.prepareStatement("show tables").execute();
            connProp.close();
            //关闭
            
        }
    }  
    
    

    C3P0

    核心类:ComboPooledDataSource

    //...
    //硬编码方式:
    ComboPooledDataSource dbC3P0 = new ComboPooledDataSource(); 
    // ...
    
    
    
    /*
    * 自动加载src下的xml文件:c3p0-config.xml
    */
    ComboPooledDataSource dbC3P0 = new ComboPooledDataSource();  
    
    
  • 相关阅读:
    spring注解-事务
    docker 安装
    docker 简单介绍
    jupyter配置
    docker 桌面镜像内安装gui程序启动报错
    Linux下安装matlab
    拉取cmake镜像并测试
    桌面镜像安装gui程序
    docker + pycharm 运行
    docker + vscode 运行
  • 原文地址:https://www.cnblogs.com/bugstar/p/8512689.html
Copyright © 2011-2022 走看看