mybatis总配置文件的dataSource的type属性介绍

mybatis总配置文件的datasource的type介绍

在mybatis的总配置文件中有一个标签
<dataSource type="pooled"><dataSource>
在里面可以放入配置数据库的基本连接信息
(driver,url,username,password)
同时在该标签上有一个属性type,它表示mybatis获取连接的方式。type属性有三个值,分别为unPooled,pooled和JNDI。

  • unpooled
    unPooled表示获取连接时不是从连接池中获取,而是直接new了一个连接返回,我们可以看看其内部的实现:
    在这里插入图片描述
    可以看到它是内部创建了一个连接给你返回。
    • pooled
      pooled是利用了连接池的思想,它内部的原理大致是这样的:
    1. 首先先判断空闲连接池内有没有空闲连接,如果还有则给你返回一个空闲连接。
    2. 如果没有空闲连接,则去活动连接池内看看还有没有位置,如果还有,则new一个连接给你返回
    3. 如果活动连接池没有位置了,则返回在活动连接池使用最久的连接。意思就是给你返回一个在活动连接池内待最久的连接。
      内部源码:
      在这里插入图片描述
    • JNDI
      这个属性内部是使用了JNDI技术,每个服务器对应的连接池技术都不一样,比如tomcat服务器使用的dpcp连接池。这个属性值只能在web工程和maven的web工程中使用。因为不太了解,不做过多介绍。
      上述的三个属性值都实现java.sql.dataSource接口规范,只是其内部的原理不同。最近正在学习mybatis框架,有空大家伙可以一起交流
发布了12 篇原创文章 · 获赞 10 · 访问量 1830

猜你喜欢

转载自blog.csdn.net/Jokeronee/article/details/103962186