我正在尝试在Presto / AWS Athena jdbc驱动程序之上使用最新的2.x版本的JDBI,该驱动程序不支持准备好的语句。
似乎应该有一个配置选项或诸如此类的配置选项,它可以让您关闭对准备好的语句的使用,特别是如果您只是传递不带参数绑定的SQL。但是,StatementBuilder接口需要create方法中的PreparedStatement返回值。
在这种情况下,有没有人遇到过这种情况或对如何使用JDBI有任何建议?我在项目的其余部分中将其用于其他几个数据库,因此希望保持一致性。
如果必须将JDBI与不支持的JDBC驱动程序一起使用,则PreparedStatement
有两种选择:
JDBI是开源的。修改源以适合您的需求。如果您以一般有用的方式进行更新,则可能需要将更新发布回去,以便其他人可以从中受益,即成为贡献者。
假装。在Presto / AWS Athena的JDBC连接周围创建JDBC包装器,该包装器返回false PreparedStatement
,仅支持无参数的SQL语句,即,UnsupportedOperationException
如果setXxx
调用任何方法,则抛出该错误。然后,将包装的连接提供给JDBI。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句