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

相关推荐
qq_171538851 小时前
深入 MyBatis-Plus 插件:解锁高级数据库功能
mybatis
毕业设计制作和分享11 小时前
ssm基于JAVA的网上订餐管理系统+vue
java·开发语言·vue.js·spring boot·mybatis
晴天飛 雪21 小时前
MyBatis几种SQL写法
windows·sql·mybatis
鹿屿二向箔1 天前
基于SSM(Spring + Spring MVC + MyBatis)框架的药房管理系统
spring·mvc·mybatis
鹿屿二向箔2 天前
基于SSM(Spring + Spring MVC + MyBatis)框架的汽车租赁共享平台系统
spring·mvc·mybatis
沐雪架构师2 天前
mybatis连接PGSQL中对于json和jsonb的处理
json·mybatis
鹿屿二向箔2 天前
基于SSM(Spring + Spring MVC + MyBatis)框架的咖啡馆管理系统
spring·mvc·mybatis
aloha_7892 天前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
毕业设计制作和分享2 天前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
paopaokaka_luck3 天前
基于Spring Boot+Vue的助农销售平台(协同过滤算法、限流算法、支付宝沙盒支付、实时聊天、图形化分析)
java·spring boot·小程序·毕业设计·mybatis·1024程序员节