mybatis总配置文件的datasource的type介绍
在mybatis的总配置文件中有一个标签<dataSource type="pooled"><dataSource>
在里面可以放入配置数据库的基本连接信息
(driver,url,username,password)
同时在该标签上有一个属性type,它表示mybatis获取连接的方式。type属性有三个值,分别为unPooled,pooled和JNDI。
- unpooled
unPooled表示获取连接时不是从连接池中获取,而是直接new了一个连接返回,我们可以看看其内部的实现:
可以看到它是内部创建了一个连接给你返回。- pooled
pooled是利用了连接池的思想,它内部的原理大致是这样的:
- 首先先判断空闲连接池内有没有空闲连接,如果还有则给你返回一个空闲连接。
- 如果没有空闲连接,则去活动连接池内看看还有没有位置,如果还有,则new一个连接给你返回
- 如果活动连接池没有位置了,则返回在活动连接池使用最久的连接。意思就是给你返回一个在活动连接池内待最久的连接。
内部源码:
- JNDI
这个属性内部是使用了JNDI技术,每个服务器对应的连接池技术都不一样,比如tomcat服务器使用的dpcp连接池。这个属性值只能在web工程和maven的web工程中使用。因为不太了解,不做过多介绍。
上述的三个属性值都实现java.sql.dataSource接口规范,只是其内部的原理不同。最近正在学习mybatis框架,有空大家伙可以一起交流
- pooled
来源:CSDN
作者:Jokeronee
链接:https://blog.csdn.net/Jokeronee/article/details/103962186