【java web篇】数据库连接池Driud的使用

news2025/1/12 3:56:18

📋 个人简介

  • 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜
  • 📝 个人主页:馆主阿牛🔥
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 📣 系列专栏:java 小白到高手的蜕变🍁
  • 💬格言:要成为光,因为有怕黑的人!🔥
    请添加图片描述

目录

    • 📋 个人简介
  • 前言
    • 数据库连接池
      • 数据库连接池Driud使用步骤
  • 结语

前言

Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池!

数据库连接池

  • 数据库连接池是个容器,负责分配、管理数据库连接( Connection )
  • 它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;
  • 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。
  • 好处:
    .资源重用
    .提升系统响应速度
    .避免数据库连接遗漏

请添加图片描述

数据库连接池Driud使用步骤

  1. 导入druid的jar包
  2. 定义配置文件
  3. 加载配置文件
  4. 获取数据库连接池对象
  5. 获取连接

使用之前我们要先下载Driud的jar包:https://repo1.maven.org/maven2/com/alibaba/druid/
选择你需要的版本的jar包即可!
然后进行第一步:在IDEA中将这个jar包添加为库:

在这里插入图片描述
在这里插入图片描述

然后第二部,定义配置文件:
在这里插入图片描述
然后就可以进行3,4,5步的操作了:

package DruidDemo;

import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.Statement;
import java.util.Properties;

/**
 * @Author:Aniu
 * @Date:2023/2/26 20:07
 * @description TODO
 */
public class Demo {
    public static void main(String[] args) throws Exception {
        // 加载配置文件
        Properties prop = new Properties();
        prop.load(new FileInputStream("javaweb/src/druid.properties"));
        // 获取数据库连接池对象
        DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);
        // 获取连接
        Connection conn = dataSource.getConnection();

        // 下面的操作就和之前jdbc的一样了
        // 定义sql
        String sql = "update spj set QTY = 400 where SNO = 'S1'";
        // 获取执行sql的对象Statement
        Statement stmt = conn.createStatement();
        // 执行sql
        int count = stmt.executeUpdate(sql); //返回更新的数据条数
        // 输出执行结果
        System.out.println("受影响行数:" + count);
        // 释放资源
        stmt.close();  //关闭执行sql的对象
        conn.close(); //关闭连接
    }
}

在这里插入图片描述

结语

如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。

🏰系列专栏
👉软磨 css
👉硬泡 javascript
👉flask框架快速入门

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/379748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache DolphinScheduler 3.1.4 版本发布,修复一键安装报错问题

点击蓝字 关注我们2 月 27 日,Apache DolphinScheduler 发布了 3.1.4 版本。此版本共计修复 11 个 bug,并更新 1 个文档修复。其中的较为重要的 Bug fix 为:修复任务唤醒失败会阻塞事件处理 (#13466)修复 k8s 任务运行失败 (#13348) 修复 Me…

NodeJs 中的 HTML 模板

💂 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 HTML 模板是一种允许我…

信息系统基本知识(二)

大纲 信息系统与信息化信息系统开发方法常规信息系统集成技术软件工程新一代信息技术信息系统安全技术信息化发展与应用信息系统服务管理信息系统服务规划企业首席信息管及其责任 1.3 常规信息系统集成技术 系统集成:是指将计算机软硬件、网络通信等技术和产品集…

金三银四,助力你的大厂梦,2023年软件测试经典面试真题(1)(共3篇)

前言 金三银四即将到来,相信很多小伙伴要面临面试,一直想着说分享一些软件测试的面试题,这段时间做了一些收集和整理,下面共有三篇经典面试题,大家可以试着做一下,答案附在后面,希望能帮助到大…

如何实现双轮差速底盘躲避悬崖的功能?

1. 功能说明 本实验使用的样机为R023样机小型双轮差速底盘。在样机前方安装3个近红外传感器 ,实现机器人躲避悬崖、在某平台上移动时不会掉下去的效果。 2. 电子硬件 在这个示例中,我们采用了以下硬件,请大家参考: 主控板Basra&…

C/C++每日一练(20230301)

目录 1. 冒泡排序法排序 ★ 2. 有效的数独 ★★ 3. 不同的二叉搜索树 II ★★ 附录 二叉搜索树 1. 冒泡排序法排序 输入n(1≤n≤10)个整数,用冒泡排序法对其从小到大排序,共进行n-1趟,要求输出每一趟的排序情…

操作系统页表

页和段的区别 页式,一个程序的各页是根据你的程序空间连续编址的,程序地址空间只有一维; 而段式,一个程序拆分成各段,独立编址(各段都从零开始编址),程序地址空间有两维。 例如一…

人工智能高等数学--微积分_导数意义_求导公式_绝对值函数_relu函数_导数物理意义_几何意义---人工智能工作笔记0025

实际上这里看了看,这些数学的概念,有一定作用,但是综合来看,也可以先把人工智能课程都看一遍,大概知道怎么回事, 带着目的再来看人工智能的高等数学部分,这里,这些内容很花时间... 首先看人工智能用到的数学中的微积分~ 首先看这里的导数是什么意思? 其实就是,导数的公式是…

Ajax学习笔记01

引入 翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 最大的优点…

word中运行Mathtype报错、以及WordCmds.dot报错问题解决方案

1. 首先,先把电脑里的Mathtype卸载干净,然后重新安装。也可以尝试直接覆盖安装。 2. 安装之后将Mathtype里面的以下几个文件拷出来安装到不同的文件夹中: Office Support文件夹中: MathType Commands 2016.dotm WordCmds.dot …

【Leedcode】栈和队列必备的面试题(第三期)

【Leedcode】栈和队列必备的面试题(第三期) 文章目录【Leedcode】栈和队列必备的面试题(第三期)一、题目(用两个栈实现队列)二、思路图解1.定义两个栈2.初始化两个数组栈3. 将数据放入pushST数组栈中4.删除…

指标体系—北极星指标体系

北极星指标体系 每个产品都有很多指标,每个指标都反映了对应业务的经营情况。但是在实际业务经营中,却要求我们在不同的产品阶段寻找到合适的指标,让这个指标可以代表当前产品阶段的方向和目标,让这个指标不仅对业务经营团队,而且对产品的用户、对产品的价值都能有很好的…

③【Java 组】蓝桥杯省赛真题 [黄金连分数][马虎的算式]持续更新中...

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 蓝桥杯真题--持续更新中...一、黄金连分数&…

echarts图表设置关于图例legend,限制图例可点击时最少保留显示一个图例

echarts图表设置关于图例legend,限制图例可点击时最少保留显示一个图例 echarts图表设置关于图例legend,限制图例可点击时最少保留显示一个图例,亲测有效; 代码如下: // 初始化ecahrts let echartsWrapper this.$e…

【Leedcode】栈和队列必备的面试题(第二期)

【Leedcode】栈和队列必备的面试题(第二期) 文章目录【Leedcode】栈和队列必备的面试题(第二期)一、题目(用两个队列实现栈)二、思路图解1.定义两个队列2.初始化两个队列3.往两个队列中放入数据4.两个队列出…

Linux 自带按键驱动

目录 一、内核检查 二、驱动文件 三、设备树 四、验证 一、内核检查 内核一般默认已经使能了 KEY 驱动,但是还是要检查一下。按照如下路径找到相应的配置选项: Device Drivers -> Input device support -> Generic in…

WebRTC拥塞控制原理解析

WebRTC包含三种拥塞控制算法,GCC、BBR和PCC。其中,BBR一开始是针对TCP的拥塞控制提出来的。它的输入为ACK/SACK,输出为拥塞窗口(congestion_window)发送速度(pacing_rate)。BBR是怎样运用到UDP,甚至运用到实时流媒体传输之上的&am…

Java-封装、继承、多态

封装 访问控制权限又成为“封装”,是面向对象三大特征中的一种。核心是,只对需要的类可见。 继承 继承是所有OOP(Object Oriented Programming)语言和Java语言都不可或缺的一部分。 只要创建一个类,就隐式继承自Obje…

【计算机组成原理】计算机硬件的基础组成、认识各个硬件部件

计算机组成原理(一) 计算机内部是通过电信号传递数据 电信号:分为高电平和低电平,分别代表1/0 数字、文字、图像如何用二进制表示? CPU如何对二进制数进行加减乘除? 如何存储这些二进制数的? 如何从内存中取出想要的数…

RuoYi-Flowable-Plus搭建(若依)

项目简介 1.本项目基于 RuoYi-Vue-Plus 进行二次开发,采用 Flowable 扩展工作流应用场景,支持在线表单设计和丰富的工作流程设计能力。2.本项目主要针对Flowable工作流场景开发,采用MIT开源协议,完全免费给个人及企业使用。3.环境…