连接池相关概念以及druid连接池的使用方法

文章介绍了如何使用Druid连接池优化数据库连接,避免频繁的打开和关闭连接,从而减轻数据库压力。首先,导入Druid的jar包,创建druid.properties配置文件,包含数据库连接信息。接着,通过DruidDataSourceFactory创建数据源,然后在JdbcUtil工具类中提供获取和关闭连接的方法,实现连接的复用。
摘要由CSDN通过智能技术生成

以前获取conneciton对象是如何获取的?Conneciton conneciton = DriverManager,getConneciton(ur,password,user); 如果每次进行增删改查的时候,都需要先连接数据库,然后关掉数据库,数据库压力较大。 所

以我们采用一种连接池的方式: 创建Conneciton对象以后,用完后不用关闭资源,把他放到连接池中,在坐其他的增删改查的时候,直接从池子中取即可,不用再重复的关闭和重复的连接。

连接池需要考虑的因素有:驱动,url,user,password,池子的初始化容量,最大容量,等待时间。

常见的连接池有:1.C3P0        2.DBCP        3.Druid

今天我们就来学习Druid连接池。

步骤:

1.导包 druid的jar

2.在src下面取新建一个druid.properties配置文件

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/java2304?useSSL=false
username=root
password=123456

initialSize=5
maxActive=10
maxWait=2000

3.书写druid连接池的核心类

public class Demo1 {
    public static void main(String[] args) {
        //1.读取druid.properties
        Properties properties = new Properties();
        //2.以流的i形式进行操作
        properties.load(new FileInputStream("src/druid.properties"));
        //3.创建Druid的核心类
        //druid数据源的工厂
        //dataSource数据源中干了获取配置文件的数据并赋值给数据源
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
        //4.获取连接数据库的对象
        Conneciton conneciton = dataSource.getConneciton();
        sout(conneciton);
        
    }
}

完成以上操作后,还需要写一个JdbcUtil类

public class JdbcUtil{
    private static DataSource dataSource = null;
    static {
        Properties properties = new Properties();
        properties.load(new FileInputStream("src/druid.properties"));
        dataSource = DruidDataSourceFactory.createDataSource(properties);
        
    }
    public static Connection getConnection(){
        Conneciton connection  = null;
        connection = dataSource.getConneciton();
        return conneciton;
    }
    public static void close (Connection connection) {
        try {
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public static void close (Statement statement, Connection connection) {
        try {
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
    public static void close (ResultSet resultSet, Statement statement, Connection connection) {
        try {
            resultSet.close();
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

}

即可完成连接池的连接。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值