mybatis 连接池POOLED分析

mybatis提供了三种连接池的配置方式:

  • 配置的位置:主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是表示采用何种连接池方式。

type属性的取值:

  • POOLED     采用传统的javax.sql.DataSource规范中的连接池,mybatis中有针对规范的实现
  • UNPOOLED 采用传统的获取连接的方式,虽然也实现Javax.sql.DataSource接口,但是并没有使用池的思想。
  • JNDI     采用服务器提供的JNDI技术实现,来获取DataSource对象,不同的服务器所能拿到DataSource是不一样。

       注意:如果不是web或者maven的war工程,是不能使用JNDI的。

  • 下面对POOLED进行分析

 连接池分为空闲池和活动池,如果空闲池中还有连接的话就直接拿一个出来用;如果已经没有空闲的连接,就再去看活动池中的连接数是否已达到给定的最大数量,如果还没达到,就创建连接;如果已经达到最大数量,就判断活动池中的连接哪个是最先(oldest)进来的,把它取出。

发布了93 篇原创文章 · 获赞 80 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_40391011/article/details/104130405