JAVA *数据库连接池 * 接JDBC

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: JAVA *数据库连接池 * 接JDBC

一.介绍:

  数据库连接池实际上就是一个   " 容器  "


       当有多个拥护需要访问数据库的时候, 一个用户会打开一个数据库连接, 但是!当用户离开的时候,就会断开数据库连接,那么数据库连接就作废了,之后如果还有用户需要进行访问,需要再建立一个数据库连接......循环往复, 那么数据库的执行效率就会十分的慢....


       以此作为前提的情况下,我们就可以使用连接池!也就是一个连接池当中有多个的数据库连接, 当用户使用完了之后数据库连接并没有被清楚,而是又回到了连接池当中,以便下一个用户再使用数据库连接! 通过这一点,可以极大的提高效率,而减少了建立连接的时间


       *提高了资源的重用   提升系统响应速度*


       当然,连接池也会有一定的 "自我判断能力"  指的是, 如果一个用户  "睡着了"  也就是长时间占用连接而不归还, 连接池就会强制的拿回这个连接  及时的归还资源,强制的断开连接


                       *避免了连接遗漏*


       由此可见,连接池的优点大概有三大部分

1.提高资源的重用

2.提升系统响应速度

3.避免了数据库的连接遗漏


二.数据库连接池的实现

1.官方接口

        DataSoure

       功能:获取连接  

2.常见的数据库连接池:

      DBCP

       C3P0

       Druid(德鲁伊)

       在这里我们重点讲解第三种Druid,其功能十分强大,并且该市JAVA语言最好的数据库连接池之一!


三:"赛前"准备

       Druid的使用主要分为五个步骤:

 1.导入jar包 durid  (拿1.1.12的版本作为一个例子)

       1>首先下载相应的durid包

这个是1.1.12版本的一个druid  jar包


                                                       ~~~~~下载的~~~~~比较慢


       如果先前并没有导入过mysql的,最好两个都进行下载并导入,安装包请收下,也可以看之前有关JDBC的有关内容补课~~~~

2>导入

               打开IDEA新建文件夹Lib,将刚搞下载好的包复制,粘贴进去即可,如下


       

                               之后点击Add.....,再设置模块有效即可,如图


  2.配置文件!*:

1.新的IDEA跟之前的IDEA配置文件图像有所变化,但是大体位置依然是没有变的,在相应的src当中创建druid.properties文件,如图


 之后向这个文件当中输入以下的数据

driverClassName = com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/填写需要进行操作的数据库的名称
#输入你的MYSQL账户
username=root
#输入你的MYSQL密码
password=*****
#初始化连接个数
initialSize = 5
#最大的连接个数
maxActive = 10
#设置连接池的最大响应时间
maxWait = 3000

 3.加载配置文件

4.后去连接池对象

5.获取数据库连接Connection

       详细如下:

package druid;
 
import com.alibaba.druid.pool.DruidDataSourceFactory;
 
import javax.sql.DataSource;
import java.io.FileInputStream;
import java.sql.Connection;
import java.util.Properties;
 
public class druiddemo1 {
    public static void main(String[] args) throws Exception {
        //1.导入JRE包
 
        //2.定义配置文件
 
        //3.加载配置文件
        Properties prop =new Properties();
        // 在这里输入相应的已经配置好的druid文件所在地点
        //但是有的时候前面需要加入模块包名称,有时候又不用,所以我们需要提前先进行一些判断,从而方便之后寻找
        //System.out.println(System.getProperty("user.dir"));
       // 输入之后会显示出一个地址,按照地址查找.在地址后面拼接上我们需要进行输入的地址,能够找到配置文件的!
        // 就是我们所需要进行输入的地址!
        prop.load(new FileInputStream("src/druid.properties"));
        //4.获取连接池查询对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
        //5.获取数据库连接connection
        Connection connection = dataSource.getConnection();
        System.out.println(connection);
    }
}


                                                   感谢观看!OVER

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
12天前
|
Prometheus 监控 Cloud Native
如何优化Java中的数据库连接池配置?
如何优化Java中的数据库连接池配置?
|
12天前
|
Java 关系型数据库 MySQL
【Java】已解决com.mysql.cj.jdbc.exceptions.CommunicationsException异常
【Java】已解决com.mysql.cj.jdbc.exceptions.CommunicationsException异常
22 1
|
15天前
|
SQL 关系型数据库 MySQL
java面试之MySQL数据库篇
java面试之MySQL数据库篇
23 0
java面试之MySQL数据库篇
|
10天前
|
SQL 安全 Java
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
13 0
|
10天前
|
druid Java 数据库连接
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
18 0
|
10天前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
20 0
|
10天前
|
SQL 监控 Java
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
21 0
|
12天前
|
SQL Java 关系型数据库
【Java】已解决Java中的com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException异常
【Java】已解决Java中的com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException异常
10 0
|
12天前
|
Java 关系型数据库 MySQL
【Java】已解决com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException异常
【Java】已解决com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException异常
16 0
|
2月前
|
Java 关系型数据库 数据库连接
实时计算 Flink版操作报错之在使用JDBC连接MySQL数据库时遇到报错,识别不到jdbc了,怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。