繁体   English   中英

将Dropwizard JDBI升级到JDBI 3

[英]Upgrading Dropwizard JDBI to JDBI 3

如何将dropwizard jdbi 2.78升级到jdbi版本3,因为我想利用其中包含的连接功能。

项目成员在这里。

我们将在v3最终版本发布之前发布更完整的迁移指南。 与此同时,我们的一位用户刚刚提交了一份体面的变更清单作为起点:

(见https://github.com/jdbi/jdbi/issues/715

  • 重命名类(所以不像删除导入那样简单,让IDE修复它):

    • DBI - > Jdbi
    • IDBI - > Jdbi
    • DBIException - > JdbiException
  • Jdbi的构造函数已被create()工厂方法替换。

  • ResultSetMapper替换为RowMapper,map方法不再具有行索引。 Jdbi 3中存在一个名为ResultSetMapper的类,但它有不同的用途。 @Mapper替换为@UseRowMapper。 Jdbi上的registerMapper()被registerRowMapper()取代。

  • @BindIn替换为@BindList,不再需要StringTemplate。

  • 使用默认的Jdbi模板,不引用尖括号,这意味着在工具 - >数据库 - >用户模式下配置参数模式后,IntelliJ可以理解语法。

  • 查询不再具有默认类型的Map,因此无法直接在其上调用list()。 在调用list()之前调用mapToMap()。

  • TransactionStatus不再存在。

  • TransactionConsumer.useTransaction()现在只接受Handle,因此当在Jdbi或Handle上使用useTransaction()方法时,需要删除TransactionStatus参数。

  • TransactionCallback.inTransaction()现在只接受一个Handle,因此当在Jdbi或Handle上使用onTransaction()方法时,需要删除TransactionStatus参数。

  • CallbackFailedException不再存在。 各种功能接口(如HandleConsumer,HandleCallback,TransactionalConsumer和TransactionalCallback)现在可以抛出任何异常类型(但使用泛型来限制,以避免不必要的已检查异常处理)。

  • 默认情况下不再提供SQL对象支持。 必须在每个创建的Jdbi实例中注册它。

请参阅Dropwizard用户手册中的Dropwizard JDBI3和Jdbi 3开发人员指南中从v2升级到v3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM