JDBC关键类结构
核心类图
DataSource架构
在1.4(JDBC2.0)中引入了DataSource用于创建数据库连接,DataSouce对于应用层是透明的,通过改变DataSouce的属性就可以使应用使用不同的数据源。同时,通过扩展DataSouce,使其具有连接池(ConnectionPoolDataSource)和分布式事务(XADataSource)的功能。
连接池
除具有连接重用之外,支持语句缓存(Statement pool),具体实现上要看JDBC厂商支持情况
分布式事务
在分布式事务中,连接不能setAutoCommit(true),也不能调用commit或者rollback,需要外部事务管理器统一管理各个连接的事务
RowSet
RowSet是一个表数据容器,可以对离线数据操作;可以自定义读写器读取非关系数据库表格数据,实现离线更新数据,连线后同步更新的数据到数据源。
主流数据库连接池
DBCP、c3p0、druid、hikariCP