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类似,但是性能强很多),好处就是资源的服用。

 

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值