阿里德魯伊(druid)連接池的用法


1、導包

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

2、配置properties配置文件

注意,properties配置文件的名稱必須是以下名稱,不能改變(driverClassName、url、username、password),否則druid連接池無法加載到properties配置信息,執行時會報空指針或未配置properties信息錯誤。

driverClassName=com.mysql.jdbc.Driver
# useSSL=true 使用安全驗證
url=jdbc:mysql://ip地址:數據庫端口號/數據庫名?characterEncoding=utf8&useUnicode=true&useSSL=true
username=root
password=root

initialSize=10
maxActive=30
minIdle=10
maxWait=2000
poolPreparedStatements=true
maxOpenPreparedStatements=20

3、創建工具類DBUtils

package com.kkb.utils;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;

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 DBUtils {
    private static DruidDataSource dataSource;

    /**
     * 加載properties配置文件導Druid連接池
     */
    static {
        try {
            Properties properties = new Properties();
            properties.load(DBUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
            dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 獲取連接
     *
     * @return
     */
    public static Connection getConnection() {
        Connection connection = null;
        try {
            connection = dataSource.getConnection();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return connection;
    }

    /**
     * 釋放連接
     */
    public static void release(Connection connection, Statement statement, ResultSet resultSet) {
        if (resultSet != null) {
            try {
                resultSet.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (statement != null) {
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

都是固定的東西,直接復制粘貼即可使用!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM