zoukankan      html  css  js  c++  java
  • JDBC学习笔记(dbcp数据库连接池)

    常用的数据库连接池有俩种:dbcp和c3p0

    数据库连接池作用:可以控制数据库连接池来优化效率,使得连接不必频繁获得和关闭操作

    dbcp数据库连接池

    使用前必须导入:mysql-connector-java-5.1.7-bin.jar,commons-dbcp-1.4.jar和commons-pool-1.5.5.jar俩个jar包

    dbcp数据库连接池的创建有俩种方式。

    第一种:提供BasicDataSource类,来创建连接池

     BasicDataSource里提供了以下方法:

             * setInitialSize(int count):设置连接池初始化连接个数
             * setMaxActive(int count):设置同一时刻允许向数据库同时申请连接个数
             * setMinIdle(int count):设置连接池允许存在的最少空闲连接数目
             * setMaxWait(int count):设置向连接池申请连接的时间(单位为毫秒),超过时间会抛出异常

             * getConnection():获得连接对象Connection

    以下为操作示例:

    BasicDataSource basicDataSource=new BasicDataSource();
    
    //设置连接池操作信息
    basicDataSource.setDriverClassName("com.mysql.jdbc.Driver");//设置数据库类型
    basicDataSource.setUrl("jdbc:mysql://localhost:3306/test");//设置连接数据库名
    basicDataSource.setUsername("root");    //设置用户名
    basicDataSource.setPassword("123456");  //设置登录密码
    
    //设置连接池初始化连接个数
    basicDataSource.setInitialSize(10);
    
    //设置同一时刻内允许向连接池获得连接的最大连接数
    basicDataSource.setMaxActive(20);
    
    //设置在连接池内允许保存的最小空闲连接数
    basicDataSource.setMinIdle(5);
    
    //等待连接池分配连接的最长时间(单位为毫秒),超出该时间抛出异常,
    basicDataSource.setMaxWait(5*1000);
    
    //从连接池获得连接
    Connection connection=basicDataSource.getConnection();
    
    System.out.println(connection.getClass());

    第二种方法:提供DataSource类,来创建连接池

             BasicDataSourceFactory().createDataSource(properties):通过配置文件获得DataSource对象
             getConnection():获得连接
             注意:其余设置均可在配置文件完成,但需要名字小写开头且与方法名字对应

             * 如:
             * driverClassName=com.mysql.jdbc.Driver
             * url=jdbc:mysql://localhost:3306/test
             * maxActive=20

        此方法通过读取配置文件设置好数据库连接池的设置

                先在src目录下创建一个dbcp.properties配置文件,设置好以下参数

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


                    initialSize=10
                    maxActive=20
                    minIdle=5

                    maxWait=5000

              再回到创建方法里:

                    //第二种获得连接的方法
                    Properties properties=new Properties();
                    InputStream input=Use_dbcp.class.getClassLoader().getResourceAsStream("dbcp.properties");
                    properties.load(input);
    
                   //通过配置文件设置连接池所有需要的参数
                  DataSource datasource=new BasicDataSourceFactory().createDataSource(properties);
    
                  System.out.println(datasource.getConnection());

     

  • 相关阅读:
    C# json提取多层嵌套到数组-- C# json 数组
    JS中的prototype
    JS_&&||
    js 匿名函数 js-函数定义方法
    js匿名函数确实是个好东西
    JavaScript:undefined!=false之解 及==比较的规则
    Sql 中常用日期转换Convert(Datetime) convert datetime
    jquery设置元素的readonly和disabled
    eWebEditor复制粘贴图片时过滤域名
    java构造函数使用方法总结
  • 原文地址:https://www.cnblogs.com/MrQlyn/p/10236347.html
Copyright © 2011-2022 走看看