当前位置: 首页 > news >正文

【Java EE】数据库连接池详解

文章目录

  • 🎍数据库连接池
    • 🌸Hikari
    • 🌸Druid
  • 🍀MySQL开发企业规范
  • ⭕总结

🎍数据库连接池

在上⾯Mybatis的讲解中,我们使⽤了数据库连接池技术,避免频繁的创建连接,销毁连接
下⾯我们来了解下数据库连接池

数据库连接池负责分配、管理和释放数据库连接,它允许应⽤程序重复使⽤⼀个现有的数据库连接,
⽽不是再重新建⽴⼀个.

在这里插入图片描述
没有使⽤数据库连接池的情况:每次执⾏SQL语句,要先创建⼀个新的连接对象,然后执⾏SQL语句,SQL语句执⾏完,再关闭连接对象释放资源.这种重复的创建连接,销毁连接⽐较消耗资源
使⽤数据库连接池的情况:程序启动时,会在数据库连接池中创建⼀定数量的Connection对象,当客⼾请求数据库连接池,会从数据库连接池中获取Connection对象,然后执⾏SQL,SQL语句执⾏完,再把Connection归还给连接池.

优点:

  1. 减少了⽹络开销
  2. 资源重⽤
  3. 提升了系统的性能

常⻅的数据库连接池:
• C3P0
• DBCP
• Druid
• Hikari

🌸Hikari

⽬前⽐较流⾏的是Hikari,Druid

  1. Hikari:SpringBoot默认使⽤的数据库连接池

在这里插入图片描述

🌸Druid

如果我们想把默认的数据库连接池切换为Druid数据库连接池,只需要引⼊相关依赖即可

<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.17</version>
</dependency>

在这里插入图片描述
参考官⽅地址:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

• Druid连接池是阿⾥巴巴开源的数据库连接池项⽬
• 功能强⼤,性能优秀,是Java语⾔最好的数据库连接池之⼀

🍀MySQL开发企业规范

  1. 表名,字段名使⽤⼩写字⺟或数字,单词之间以下划线分割.尽量避免出现数字开头或者两个下划线中间只出现数字.数据库字段名的修改代价很⼤,所以字段名称需要慎重考虑。

MySQL在Windows下不区分⼤⼩写,但在Linux下默认是区分⼤⼩写.因此,数据库名,表名,字
段名都不允许出现任何⼤写字⺟,避免节外⽣枝
正例:aliyun_admin,rdc_config,level3_name
反例:AliyunAdmin,rdcConfig,level_3_name

  1. 表必备三字段:id,create_time,update_time

id必为主键,类型为bigintunsigned,单表时⾃增,步⻓为1
create_time,update_time的类型均为datetime类型,create_time表⽰创建时间,
update_time表⽰更新时间
有同等含义的字段即可,字段名不做强制要求

  1. 在表查询中,避免使⽤*作为查询的字段列表,标明需要哪些字段
  1. 增加查询分析器解析成本
  1. 增减字段容易与resultMap配置不⼀致
  2. ⽆⽤字段增加⽹络消耗,尤其是text类型的字段

⭕总结

感谢大家的阅读,希望得到大家的批评指正,和大家一起进步,与君共勉!

http://www.lryc.cn/news/345150.html

相关文章:

  • 正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-15.4讲 GPIO中断实验-IRQ中断服务函数详解
  • 如何平衡RPA机器人的安全性与业务敏捷性,同时不牺牲用户体验?
  • 地球行星UE5和UE4
  • 7.k8s中的名称空间namespace
  • 上海企业源代码防泄密解决方案,企业源代码防泄密如何应对?
  • 将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 4
  • OpenSearch 与 Elasticsearch:7 个主要差异及如何选择
  • [Docker]容器的网络类型以及云计算
  • VMP 简单源码分析(.net)
  • 数据结构与算法学习笔记-二叉树的顺序存储表示法和实现(C语言)
  • 如何在Windows和Linux中杀死Python进程
  • 零基础怎么快速进行单细胞分析?
  • 力扣数据库题库学习(5.10日)--1965. 丢失信息的雇员
  • 漫威争锋Marvel Rivals怎么搜索 锁区怎么搜 游戏搜不到怎么办
  • SpringBoot实现统一返回值+全局异常处理
  • windows连接CentOS数据库或Tomcat报错,IP通的,端口正常监听
  • 超详细的胎教级Stable Diffusion使用教程(一)
  • 流媒体服务器(20)—— mediasoup 之媒体流score评分计算(一)
  • 用keras识别狗狗
  • Sass语法介绍-变量介绍
  • 可调恒流电子负载的基础认识
  • 开源模型应用落地-模型记忆增强-概念篇(一)
  • SAPUI5基础知识1 - 概览,库,支持工具,自学教程
  • 常见的获取dom元素的方法
  • 走进CHEN MEI HUA的设计哲学:书写东方女性力量与态度的时尚篇章
  • ESrally单机向量检索性能测试全流程
  • 小红书释放被封手机号 无限注册
  • Docker快速启动清单
  • 京东手势验证码-YOLO姿态识别+Bézier curve轨迹拟合
  • 亚马逊是如何铺设多个IP账号实现销量大卖的?