JDBC连接池

Posted 怒上王者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC连接池相关的知识,希望对你有一定的参考价值。

DBCP的jar包官网下载
Pool的jar包官网下载
Collections的jar包官网下载
Logging的jar包官网下载
mysql-connecor的jar包官网下载

package utils;

import com.mysql.cj.jdbc.Driver;
import org.apache.commons.dbcp2.BasicDataSource;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *   项目描述: 编写数据库DBCP连接池的工具类代码
 */

public class DBCPUtils 

    // 1。定义常量。包含注册驱动,定义连接数据库的URL,以及数据库连接的用户名和密码
    public static final String DRIVER = "com.mysql.cj.jdbc.Driver";
    public static final String DATABASE = "lianxi01";//需要修改成自己的数据库
    public static final String URL = "jdbc:mysql://localhost:3306/" + DATABASE + "?characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
    public static final String USER ="root";
    public static final String PASSWORD = "316426";//修改成自己的密码 
    // 2。创建DBCP的连接池(public static层级)。使用DataSource接口的实现类BasicDataSource
    public static BasicDataSource datasource = new BasicDataSource();
    // 3。创建静态代码块,对连接池进行配置
    static 

        datasource.setDriverClassName(DRIVER);
        datasource.setUrl(URL);
        datasource.setUsername(USER);
        datasource.setPassword(PASSWORD);

    
    // 3。从连接池中获取连接
    public static Connection getConnection() throws SQLException 
        Connection connection = datasource.getConnection();
        return connection;
    
    // 4。关闭连接,释放资源。这里的"关闭"指的是将连接归还给数据池 --- executeUpdate方法的关闭
    public static void close(Connection con, Statement statement) throws SQLException 

        if(null != con && null != statement)
            statement.close();
            con.close();
        
    
    // close(Connection con, Statement statement)方法重载 --- executeQuery方法的关闭
    public static void close(Connection con, Statement statement, ResultSet resultSet) throws SQLException 

        if(null != con && null != statement && null != resultSet)

            resultSet.close();
            statement.close();
            con.close();
        
    


以上是关于JDBC连接池的主要内容,如果未能解决你的问题,请参考以下文章

JDBC连接池和Spring JDBC

JDBC 连接池:连接重用?

数据库连接池与JDBC的区别

[八]数据库连接池与JDBC。纳尼?连接池关JDBC神马事?

JDBC连接池&DBUtils

jdbc数据库连接池