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

為{幸葍}努か 提交于 2020-01-13 23:58:09

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框架,有空大家伙可以一起交流
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!