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

mybatis的数据库连接池

直接看原文

原文链接:【MyBatis】 连接池技术_mybatis自带连接池-CSDN博客

本文先不说springBoot整合mybatis后的

本文讲的是没有被springBoot整合前的mybatis自己的默认的连接池

---------------------------------------------------------------------------------------------------------------------------------

mybatsi的连接池不是默认开启的,是需要你配置指定POOLED的.

一.mybatsi自己的三种数据源

在引入的org.mybatis:mybatis:3.5.6的jar包下,有个datasource包,包下有三个mybatis的数据源,

  • UNPOOLED 不使用连接池的数据源
  • POOLED 使用连接池的数据源
  • JNDI 使用 JNDI 实现的数据源

 

 因此,我们想用到mybatis自己的连接池的话,就需要在mybatis-config.xml配置文件中配置有连接池的数据源POOLED .

 在这三种数据源中,我们一般采用的是 POOLED 数据源(很多时候我们所说的数据源就是为了更好的管理数据 库连接,也就是我们所说的连接池技术)。

二.源码解析

相应地,MyBatis 内部分别定义了实现了 java.sql.DataSource 接口的 UnpooledDataSource和 PooledDataSource 类来表示 UNPOOLED、POOLED 类型的数据源(底层实际上封装了JDBC)。

UNPOOLED源码解析


POOLED源码解析 

  • poolMaximumActiveConnections是最大的活动连接数,活动连接,就是正在与数据库交互的连接,默认是10
  • poolMaximumIdleConnections是空闲连接数,就是没有处理请求的连接,默认是5

 

UNPOOLED与POOLED的区别:

 

结尾

 最后我们可以发现,真正连接打开的时间点,只是在我们执行SQL语句时,才会进行。其实这样做我们也可以 进一步发现,数据库连接是我们最为宝贵的资源,只有在要用到的时候,才去获取并打开连接,当我们用完了就再 立即将数据库连接归还到连接池中。


http://www.kler.cn/a/157873.html

相关文章:

  • 万兆多模光模块SFP-10G-SR:高速短距传输的最优选
  • vue自定义指令实现按钮只允许点击一次
  • 钉钉提交审批意见,并上传附件接口集成
  • 如何快速查找最后(最右侧)隐藏列
  • [oeasy]python0002_终端_CLI_GUI_编程环境_游戏_真实_元宇宙
  • webWorker解决单线程中的一些小问题和性能优化
  • 国家图书馆论文检索证明申请步骤
  • Unity 关于SetParent方法的使用情况
  • IPD|企业产品研发的致胜法宝——TR技术评审
  • MySQL的多表查询
  • C++现代模板元编程
  • JDBC操作
  • SAP_MM_实现当期研发费用统计方案
  • c++--运算符重载
  • 无需繁琐编程 开启高效数据分析之旅!
  • 神经网络常用归一化和正则化方法解析(一)
  • 深入了解JavaScript事件绑定:实现高效可靠的事件处理
  • SAP ABAP Table Control的制作
  • 关于前端学习的思考-vertical-align的用法
  • JDK8新特性——Stream流