码迷,mamicode.com
首页 > 其他好文 > 详细

德鲁伊连接池-Druid

时间:2020-04-16 01:04:26      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:文件   timezone   als   input   created   ack   min   getc   ade   

利用Druid连接池获得数据库连接(得到一个连接对象):
package com.hk.utils;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;

public class DbUtils {

    private static DruidDataSource druidDataSource;
    //初始化德鲁伊连接池
    static {
        //getClassLoader();得到类加载器对象(单例)
        InputStream is =  DbUtils.class.getClassLoader().getResourceAsStream("druid.properties");
        Properties properties = new Properties();//配置文件对象
        try {
            properties.load(is);//真正的配置文件
            is.close();
            druidDataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);//加载配置文件
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //获取数据库连接对象
    public static Connection getConnection() {
        Connection conn = null;
        try{
            conn = druidDataSource.getConnection();
        }catch (Exception ex) {
            ex.printStackTrace();
        }
        return conn;
    }

    //关闭结果集和数据库处理对象(或预处理对象)和数据库连接对象(数据连接池本质上不会被关闭)
    public static void colse(ResultSet rs, Statement statement, Connection conn) {
        try{
            if(null != rs) {
                rs.close();
            }
            if(null != statement) {
                statement.close();
            }
            if(null != conn) {
                conn.close();
            }
        }catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

配置文件信息:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/javaweb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username=root
password=123456

#初始化的时候,连接池中放多少个连接
initialSize=10

# 最大存货的连接数量
maxActive=50

#最小空闲数量
minIdle=5

#配置获取连接等待超时的时间
maxWait=10000

#验证连接池中的连接是否有效的sql语句
validationQuery=‘select 1‘

#在获取连接的时候,验证拿到连接是否为有效连接
testOnBorrow=false

#在归还连接的时候,验证是否为有效连接
test-on-return=false

#空闲的时候验证是否有效
test-while-idle=true

德鲁伊连接池-Druid

标签:文件   timezone   als   input   created   ack   min   getc   ade   

原文地址:https://www.cnblogs.com/bigbeardhk/p/12709539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!