druid连接池

在三层架构之后又继续学习了Druid连接池,其使用完毕也不会关闭,容易复用,节约资源

package com.qf.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.SQLException;
import java.util.Properties;

public class DbUtils {
    //声明一个连接池对象
    private  static DruidDataSource ds;
    static {//静态代码块,类一开始就执行
        Properties properties=new Properties();
        InputStream is=DbUtils.class.getResourceAsStream("/database.properties");//字节输入流,读取properties数据文件
        try {
            properties.load(is);//把is加载进来
            //创建连接池
            try {
                ds=(DruidDataSource)DruidDataSourceFactory.createDataSource(properties);//强转为DruidDasource类型
            } catch (Exception e) {
                e.printStackTrace();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public  static Connection getConnection(){
        try {
            return ds.getConnection();//通过连接池获得连接对象
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
}
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/companydb?useUnicode=true&characterEncoding=utf8
username=root
password=1234
#初始化连接
initialSize=10
#最大连接数
maxActive=30
#最小空闲连接
maxIdle=5
#超过最大的等待时间
maxWait=3000

 

posted @ 2022-03-28 20:12  橙大力  阅读(232)  评论(0)    收藏  举报