代码之家  ›  专栏  ›  技术社区  ›  Vinay S Jain

C3P0 RAWStatement操作用法

  •  0
  • Vinay S Jain  · 技术社区  · 6 年前

    我在我的项目中使用C3P0连接池。

    我在C3P0ProxyStatement中遇到了以下方法,

    C3P0ProxyStatement pStmt = (C3P0ProxyStatement) stmt;
    pStmt.rawStatementOperation(..,..);
    

    请帮我解决以下疑问,

    rawStatementOperation在这个c3p0中有什么用途?

    为什么此语句将reflect API方法作为参数?

    使用它会影响性能吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Steve Waldman    6 年前

    最近人们很少使用这个API,更喜欢JDBC4标准 unwrap(...) 访问本机语句和连接。

    是的,这个特定于c3p0的API是反射性的(它比解包要安全一些,因为c3p0将跟踪并尝试清理可能返回的一些JDBC资源)。反射方法调用的成本相对于普通方法调用来说很高,但相对于数据库操作的成本来说可以忽略不计。这不会对性能产生重大影响。