JAVA *数据库连接池 * 接JDBC

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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
在Java环境下如何进行Redis数据库的操作
总的来说,使用Jedis在Java环境下进行Redis数据库的操作,是一种简单而高效的方法。只需要几行代码,就可以实现复杂的数据操作。同时,Jedis的API设计得非常直观,即使是初学者,也可以快速上手。
168 93
【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常
在BeetISQL 2.13.8版本中,客户使用batch insert向yashandb表插入数据并尝试获取自动生成的sequence id时,出现类型转换异常。原因是beetlsql在prepareStatement时未指定返回列,导致yashan JDBC驱动返回rowid(字符串),与Java Bean中的数字类型tid不匹配。此问题影响业务流程,使无法正确获取sequence id。解决方法包括:1) 在batchInsert时不返回自动生成的sequence id;2) 升级至BeetISQL 3,其已修正该问题。
【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
104 17
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
130 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【YashanDB知识库】yasdb jdbc驱动集成druid连接池,业务(java)日志中有token IDENTIFIER start异常
客户Java日志中出现异常,影响Druid的merge SQL功能(将SQL字面量替换为绑定变量以统计性能),但不影响正常业务流程。原因是Druid在merge SQL时传入null作为dbType,导致无法解析递归查询中的`start`关键字。
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
141 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
2月前
|
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
252 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
使用 JDBC 实现 Java 数据库操作
JDBC(Java Database Connectivity)是 Java 提供的数据库访问技术,允许通过 SQL 语句与数据库交互。本文详细介绍了 JDBC 的使用方法,包括环境准备、编程步骤和完整示例。
331 7
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
314 6

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等