JDBC解析

本文详细解析JDBC的关键类结构,包括核心类图、DataSource架构及其在连接池和分布式事务中的作用。此外,还介绍了RowSet的概念以及其在离线数据操作中的应用,并列举了主流的数据库连接池技术如DBCP、c3p0、druid和hikariCP。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JDBC关键类结构

核心类图

DriverManager Connection Driver Statement DatabaseMetaData SQLData ResultSet PreparedStatement CallableStatement ParameterMetaData ResultSetMetaData SQLType SQLException getConnection connect createStatement execute

DataSource架构

在1.4(JDBC2.0)中引入了DataSource用于创建数据库连接,DataSouce对于应用层是透明的,通过改变DataSouce的属性就可以使应用使用不同的数据源。同时,通过扩展DataSouce,使其具有连接池(ConnectionPoolDataSource)和分布式事务(XADataSource)的功能。

CommonDataSource DataSource ConnectionPoolDataSource XADataSource Connection getConnection

连接池

除具有连接重用之外,支持语句缓存(Statement pool),具体实现上要看JDBC厂商支持情况

ConnectionPoolDataSource PooledConnection Connection ConnectionEventListener StatementEventListener getPooledConnection getConnection addConnectionEventListener addStatementEventListener

分布式事务

在分布式事务中,连接不能setAutoCommit(true),也不能调用commit或者rollback,需要外部事务管理器统一管理各个连接的事务

XADataSource XAConnection XAResource PooledConnection Connection ConnectionEventListener StatementEventListener getXAConnection​ getXAResource getConnection addConnectionEventListener addStatementEventListener

RowSet

RowSet是一个表数据容器,可以对离线数据操作;可以自定义读写器读取非关系数据库表格数据,实现离线更新数据,连线后同步更新的数据到数据源。

RowSet ResultSet RowSetEvent RowSetEventListener RowSetReader RowSetWriter RowSetInternal RowSetMetaData ResultSetMetaData

主流数据库连接池

DBCP、c3p0、druid、hikariCP

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值