我需要从Vert.x;的SQLConnection获取底层的java.sql.Connection

2022-07-19 00:00:00 java liquibase vert.x

我正在使用vert.x的JDBCClient获取我的数据库连接,它只提供io.vertx.ext.sql.SQLConnection或io.vertx.reactive ex.ext.sql.SQLConnection,它们都没有扩展java.sql.Connection。

为了从Verticle调用Liquibase,我需要一个java.sql.Connection。

我知道Vert.x在后面使用C3PO,但我找不到任何可以为我提供底层连接的方法。

我如何才能做到这一点?


解决方案

如果您使用的是最新版本,SQLConnection有一个unwrap方法。如docs中所示:

default <N> N unwrap()

返回基础连接对象(如果可用)。这不是强制由客户端实现的。

JDBCClient应返回java.sql.Connection。使用后别忘了调用原SQLConnection上的close

相关文章