JAVA *数据库连接池 * 接JDBC

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Java 关系型数据库 数据库连接
JDBC:Java与数据库的“黄金搭档”,为何它如此重要?
JDBC:Java与数据库的“黄金搭档”,为何它如此重要?
36 8
|
2月前
|
Java 数据库连接 API
JDBC:Java数据库连接的“黑科技”大揭秘
JDBC:Java数据库连接的“黑科技”大揭秘
33 7
|
18天前
|
存储 关系型数据库 MySQL
【Java面试题汇总】MySQL数据库篇(2023版)
聚簇索引和非聚簇索引、索引的底层数据结构、B树和B+树、MySQL为什么不用红黑树而用B+树、数据库引擎有哪些、InnoDB的MVCC、乐观锁和悲观锁、ACID、事务隔离级别、MySQL主从同步、MySQL调优
【Java面试题汇总】MySQL数据库篇(2023版)
|
2月前
|
SQL Java 关系型数据库
探索Java数据库连接的奥秘:JDBC技术全攻略
探索Java数据库连接的奥秘:JDBC技术全攻略
43 8
|
2月前
|
SQL Java 数据库连接
JDBC之旅:从陌生到熟悉的Java数据库连接之路
JDBC之旅:从陌生到熟悉的Java数据库连接之路
20 8
|
2月前
|
SQL Java 数据库连接
Java开发者必知:JDBC连接数据库的“三大法宝”
Java开发者必知:JDBC连接数据库的“三大法宝”
18 7
|
26天前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
34 0
|
12月前
|
SQL Java 关系型数据库
Java的JDBC编程<-----用Java代码操作数据库(MySQL数据库)
Java的JDBC编程<-----用Java代码操作数据库(MySQL数据库)
50 0
|
3月前
|
SQL Java 关系型数据库
Java中的JDBC编程详解
Java中的JDBC编程详解
|
5月前
|
SQL Java 关系型数据库
Java之JDBC数据库编程
Java之JDBC数据库编程
36 2