我是靠谱客的博主 糟糕水池,最近开发中收集的这篇文章主要介绍javax.activation.DataSource与javax.sql.DataSource的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天写Spring连接数据库,导入包的时候,混淆了javax.activation.DataSource与javax.sql.DataSource。

导致DataSource和阿里的DruidDataSource不匹配,却一直以为是阿里依赖问题,在错误的方向弄了很久。后来才发现是javax的DataSource包导入错误。特意查了javax.activation.DataSource与javax.sql.DataSource的区别。

如下:

javax.activation.DataSource中定义的接口跟I/O有关,是对资源文件的抽象,类似Reader、Writer等。而javax.sql.DataSource是JDBC2.0标准中的规范,其目的是针对1.0标准通过DriverManager.getConnenction()方式获取到数据库连接。其消耗大、不可复用等缺点而推出的新一代规范。

javax.sql.DataSource接口方法也只有两个:有参和无参的getConnection()方法。具体的现实有DruidDataSource(阿里)和BasicDataSource(Apache),还有HiKariCP(数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他连接池。https://blog.csdn.net/fly_boss/article/details/60965849)

这些数据源能提供可复用方式的数据库连接,大多采用连接池实现(这些连接池的原理和C3P0类似,但是性能强很多),好处就是资源的服用。

 

最后

以上就是糟糕水池为你收集整理的javax.activation.DataSource与javax.sql.DataSource的区别的全部内容,希望文章能够帮你解决javax.activation.DataSource与javax.sql.DataSource的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(81)

评论列表共有 0 条评论

立即
投稿
返回
顶部