JDBC2.0在1.0版本java.sql.*上增加了一个扩展包javax.sql.*包,这个包里面包含两个接口:

1.DataSource,数据源。

2.ConnectionPoolDataSource,数据池。

DataSource的源码可以看到,这个接口的作用就是拿来获取connection连接的。

各个数据库厂商只负责实现connection,

至于获取connection,在JDBC1.0里面是由DriverManager来负责的。

JDBC2.0版本之所新增DataSource,原因很简单——数据库连接池。1.0版本时每用一次connection都需要重新new,而dataSource可以缓存connection。

手撕JAVA(十九)JDBC2.0

打开mybatis的源码可以看到有连接池。

手撕JAVA(十九)JDBC2.0

手撕JAVA(十九)JDBC2.0

实现DataSource的地方很多:

1,DBCP框架

dbcp框架中的DataSource类是:org.apache.commons.dbcp.BasicDataSource

这是commons-dbcp.jar包中的类。

2,C3P0框架

c3p0框架的DataSource类是:com.mchange.v2.c3p0.ComboPooledDataSource

这是c3p0.jar包中的类。

3,MyBatis框架

MyBatis框架的DataSource类是:org.apache.ibatis.datasource.pooled.PooledDataSource

这是mybatis.jar包中的类。

4,Druid框架

Druid框架的DataSource类是:com.alibaba.druid.pool.DruidDataSource

由于都是实现的DataSource接口,所以可以相互切换。

 

相关文章:

  • 2021-09-27
  • 2021-11-07
  • 2021-06-06
  • 2021-12-11
  • 2021-12-14
  • 2021-04-14
  • 2021-09-12
  • 2021-10-24
猜你喜欢
  • 2021-04-15
  • 2021-09-18
  • 2021-04-13
  • 2021-04-03
  • 2021-12-13
  • 2021-09-30
  • 2021-07-25
相关资源
相似解决方案