(数据库链接池)spring内容复习7月16日笔记

简介: (数据库链接池)spring内容复习7月16日笔记

2023:07:16数据库连接池


数据库连接池是个容器,负责分配,管理数据库连接对象(Connection)


它允许应用程序重复使用一个现有的数据库链接,而不是在重新建立一个


而且释放空闲时间超过最大空闲时间的链接,来避免因为没有释放链接而引起的数据库链接遗漏


没有数据库链接对象的情况:


在执行sql语句的时候首先会创建一个数据库链接对象,在sql语句执行完成之后会关闭链接对象来释放资源

这样每一次执行sql语句都需要循环往复这个过程比较浪费资源


具有数据库链接对象的情况:


程序在启动的时候会初始化一定数量的连接对象,客户端在准备执行sql语句的时候会从这里面选一个连接,然后执行sql语句,在sql语句执行完成后会把这个链接归还给连接池


如果客户端在拿到链接之后一链接一直处空闲状态(链接没有访问操作数据库),数据库链接池会检测这个链接的空闲时间一旦超过最大预设空闲时间,这个链接将会释放归还给连接池(避免了链接越用越少的情况)

综上诉述


连接池的优势


1.资源重用(复用链接)


2.提升系统响应速度(数据库连接池在初始化过程中,已经创建了若干数据库连接放于池内备用。此时连接池的初始化操作均已完成。对于客户端请求直接利用现有可用连接,避免了数据库连接初始化和释放过程的时间开销,从而缩减了系统整体响应时间。)


3.避免数据库链接遗漏(超过最大空闲时间将会被收回,避免常规数据库链接操作中可能出现的遗漏)

连接池的实现:


标准接口:DataSource


官方提供接口,第三方组织实现


常见的有Druid(念zhao ei de(德鲁伊) 还有Hikari(springboot默认 hei ka rei(追光者))

且切换连接池:


直接引入对应的依赖即可


总结。


连接池就是为了避免重复的创建数据库连接而造成的性能下降和资源的浪费


注意:


保存一定量的链接是要消耗内存的链接应该不会创建太多


有问题可在评论区指出(多谢指教)

目录
相关文章
|
3月前
|
SQL Java 数据库
使用Spring Boot和Flyway进行数据库迁移
使用Spring Boot和Flyway进行数据库迁移
|
19天前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
19天前
|
前端开发 应用服务中间件 API
|
20天前
|
Java 数据库连接 API
【Java笔记+踩坑】Spring Data JPA
从常用注解、实体类和各层编写方法入手,详细介绍JPA框架在增删改查等方面的基本用法,以及填充用户名日期、分页查询等高级用法。
【Java笔记+踩坑】Spring Data JPA
|
20天前
|
Java 数据库连接 数据格式
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
IOC/DI配置管理DruidDataSource和properties、核心容器的创建、获取bean的方式、spring注解开发、注解开发管理第三方bean、Spring整合Mybatis和Junit
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
|
2月前
|
XML 数据库 数据格式
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
这篇文章是Spring5框架的实战教程的终结篇,介绍了如何使用注解而非XML配置文件来实现JdbcTemplate的数据库操作,包括增删改查和批量操作,通过创建配置类来注入数据库连接池和JdbcTemplate对象,并展示了完全注解开发形式的项目结构和代码实现。
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
|
3月前
|
缓存 NoSQL Java
使用Spring Boot和Couchbase实现NoSQL数据库
使用Spring Boot和Couchbase实现NoSQL数据库
|
3月前
|
Java 测试技术 数据库连接
Spring Boot中的嵌入式数据库使用
Spring Boot中的嵌入式数据库使用
|
3月前
数据库系统工程师考点笔记
数据库系统工程师考点笔记
125 0
|
3月前
|
编解码 算法 vr&ar
软考中级之数据库系统工程师笔记总结(六)多媒体基础
软考中级之数据库系统工程师笔记总结(六)多媒体基础
24 0
下一篇
无影云桌面