JDBC连接池Druid,C3P0(入门使用并附jar包)

news/2024/5/19 0:01:32 标签: intellij idea, java, JDBC, jar

前言:

本文介绍JDBC中常见的几种连接池jar包使用 C3P0、Druid、HikariCP 、DBCP

初学者在学习连接池的时候很少用maven项目添加依赖,下面介绍的都是原始

jar包使用,配置文件放src路径下

目录

  • 1,什么是连接池?连接池的作用
  • 2, Druid连接池
      • 🌸 配置文件
      • 🌸**测试**
  • 3,C3P0连接池
      • 🌸 配置文件
      • 🌸**测试**

1,什么是连接池?连接池的作用

连接池是一种用于管理数据库连接的技术,它具有以下好处:

1,提高性能:连接池可以重复使用已经建立的数据库连接,避免了每次请求都需要重新建立连接的开销。这样可以减少连接的创建和销毁次数,提高了数据库操作的效率。

2,节省资源:连接池可以控制同时存在的数据库连接数量,避免了过多的连接占用系统资源,提高了系统的稳定性和可靠性。

3,提升并发能力:连接池可以管理多个数据库连接,使得多个请求可以同时进行数据库操作,提高了系统的并发能力。

4,降低系统压力:连接池可以对数据库连接进行管理和监控,可以检测到连接的空闲时间和超时时间,及时释放无用的连接,避免了因为连接过多而导致系统崩溃或性能下降的问题。

5,提供连接的复用:连接池可以将连接分配给不同的请求,实现连接的复用,减少了连接的创建和销毁的次数,提高了系统的性能和效率。

总的来说,使用连接池可以提高系统的性能、稳定性和并发能力,节省系统资源,降低系统压力,提高数据库操作的效率
:

2, Druid连接池

德鲁伊jar下载博主使用的是1.2.0版本

repo1.maven.org/maven2/com/alibaba/druid/

添加配置文件文件名不固定

🌸 配置文件

java">
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/java001?useServerPrepStmts=true
username=root
password=root
initialSize=10  # 启始连接数
maxActive=30	# 最大连接数
maxIdle=500     # 最大空闲时间
maxWait=1000    # 最大等待时间

:

🌸测试

java">@Test
public void testDruid() throws Exception {
    // 创建配置文件对象
    Properties properties = new Properties();
    // 创建一个文件输入流指向配置文件
    FileInputStream inputStream = new FileInputStream("src\\jdbc.properties");
    // 加载配置文件
    properties.load(inputStream);
    // 工厂包装类创建数据源
    DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
    System.out.println(dataSource.getConnection());
}

;

3,C3P0连接池

下载地址:
https://sourceforge.net/projects/c3p0/

🌸 配置文件

java">
<c3p0-config>
    <!--使用默认的配置读取数据库连接池对象 -->
    <default-config>
        <!--  连接参数 -->
        <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/java001?useServerPrepStmts=true</property>
        <property name="user">root</property>
        <property name="password">root</property>

        <!-- 连接池参数 -->
        <!--初始化申请的连接数量-->
        <property name="initialPoolSize">5</property>
        <!--最大的连接数量-->
        <property name="maxPoolSize">10</property>
        <!--超时时间-->
        <property name="checkoutTimeout">3000</property>
    </default-config>

    <named-config name="otherc3p0">
        <!--  连接参数 -->
        <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/java001?useServerPrepStmts=true</property>
        <property name="user">root</property>
        <property name="password">root</property>

        <!-- 连接池参数 -->
        <property name="initialPoolSize">5</property>
        <property name="maxPoolSize">8</property>
        <property name="checkoutTimeout">1000</property>
    </named-config>
</c3p0-config>

:

🌸测试

java">   
@Test
public void testC3p0() throws SQLException {
    // 使用named-config命名的配置,默认不用传入
    ComboPooledDataSource comboPooledDataSource =
            new ComboPooledDataSource("otherC3p0");
    Connection connection = comboPooledDataSource.getConnection();
    System.out.println(connection);
}


:
OK,以上就是JDBC连接池Druid,C3P0的全部内容了


http://www.niftyadmin.cn/n/5246681.html

相关文章

GO设计模式——3、抽象工厂模式(创建型)

目录 抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09; 抽象工厂模式的核心角色 优缺点 代码实现 抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09; 抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09;是围绕一个超级工厂创建其他…

定兴县第三实验小学开展“宪法宣传周”系列活动

2023年12月4日是我国第十个国家宪法日&#xff0c;我校集中深入学习宣传宪法&#xff0c;弘扬宪法精神&#xff0c;维护宪法权威&#xff0c;开展“宪法宣传周”系列活动。 宪法主题升旗仪式 五&#xff08;6&#xff09;班薛谨熙同学以《学法懂法 与我同行》为主题做国旗下讲…

系列学习前端之第 2 章:一文精通 HTML

全套学习 HTMLCSSJavaScript 代码和笔记请下载网盘的资料&#xff1a; 链接: https://pan.baidu.com/s/1-vY2anBdrsBSwDZfALZ6FQ 提取码: 6666 HTML 全称&#xff1a;HyperText Markup Language&#xff08;超文本标记语言&#xff09; 1、 HTML 标签 1. 标签又称元素&#…

JavaSE基础50题:13. 输出n*n乘法口诀表,n由用户输入。

概述 输出n*n乘法口诀表&#xff0c;n由用户输入。 代码 package practice;import java.util.Scanner;/*** Author : tipper* Description:*/ public class P13 {public static void chengFa() {Scanner sc new Scanner(System.in);int n sc.nextInt();for (int i 1; i &…

clickhouse从mysql同步数据到clickhouse的几种方式

背景 我们的业务数据一般来说都是放在Mysql中的&#xff0c;而我们要分析的数据一般都存放在clickhouse中&#xff0c;所以如何把数据从mysql同步到ck&#xff0c;就变成了一个必须的步骤&#xff0c;本文简单记录下几种同步的方式 mysql数据同步到clickhouse 方式一&#x…

【JavaWeb笔记】单选框,结合Servlet

各个部分的作用 jsp部分 form action"..."&#xff1a;表单标签&#xff0c;供用户提交数据。内部的submit点击之后相当于是点action的URL input type"radio"&#xff1a;输入类型为单选框。把name设置为一样的&#xff0c;这样效果上就是单选&#xff…

多级路由component页面不加载

项目基于vue-element-admin 新建SubView.vue <template><router-view /> </template><script setup> </script>在父层添加component {path: /sj,component: Layout,redirect: /sj,name: 三级医院评审标准(2022),meta: {title: 三级医院评审标准(…

智能优化算法应用:基于原子轨道搜索算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于原子轨道搜索算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于原子轨道搜索算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.原子轨道搜索算法4.实验参数设定5.算…