数据库连接池Druid的工具类

定义Druid的工具类

使用步骤:
1. 导入druid的jar包;

<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>druid</artifactId>
     <version>1.1.16</version>
</dependency>

2. 编写druid的配置文件properties;

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/dbName?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8
username=root
password=1234
# 初始化连接数量
initialSize=5
# 最大连接数量
maxActive=50
# 获取连接的最大等待时间(毫秒)
maxWait=5000

3. 导入配置文件,获取数据库连接池对象.

import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class DruidUtils {

    private static DataSource ds;

    static {
        try {
            Properties prop = new Properties();
	    //加载properties配置文件
	    prop.load(DruidUtils.class.getClassLoader().getResourceAsStream("druid.properties"));

            //获取数据库连接池对象
            ds = DruidDataSourceFactory.createDataSource(prop);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static Connection getConn() throws SQLException {
        return ds.getConnection();
    }

    //归返数据库连接到数据库连接池
    public static void close(Connection conn, Statement stat, ResultSet rs) {
        try {
            if (rs != null) {
                rs.close();
            }
            if (stat != null) {
                stat.close();
            }
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    //连接测试
    public static void main(String[] args) throws SQLException {
        System.out.println(DBUtils.getConn());
    }
}

Druid的正常实现(不使用工具类)

public class DruidDemo {
    public static void main(String[] args) throws Exception {
        Properties properties = new Properties();
        InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties");
        properties.load(is);
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
        Connection conn = dataSource.getConnection();
        System.out.println(conn);
    }
}
posted @ 2022-11-07 10:10  lichuanjiang  阅读(130)  评论(0)    收藏  举报