gpt4 book ai didi

dropwizard - 将 Dropwizard JDBI 升级到 JDBI 3

转载 作者:行者123 更新时间:2023-12-03 09:46:32 26 4
gpt4 key购买 nike

您如何将 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 在您配置工具 -> 数据库 -> 用户模式下的参数模式后理解语法。
  • Query 不再具有 Map 的默认类型,因此不能直接在其上调用 list()。在调用 list() 之前调用 mapToMap()。
  • TransactionStatus 不再存在。
  • TransactionConsumer.useTransaction() 现在只接受一个 Handle,因此在 Jdbi 或 Handle 上使用 useTransaction() 方法时需要删除 TransactionStatus 参数。
  • TransactionCallback.inTransaction() 现在只接受一个 Handle,因此当在 Jdbi 或 Handle 上使用 inTransaction() 方法时需要删除 TransactionStatus 参数。
  • CallbackFailedException 不再存在。各种功能接口(interface),例如 HandleConsumer、HandleCallback、TransactionalConsumer 和 TransactionalCallback,现在可以抛出任何异常类型(但限制使用泛型以避免不必要的检查异常处理)。
  • 默认情况下不再提供 SQL 对象支持。它必须注册每个创建的 Jdbi 实例。
  • 关于dropwizard - 将 Dropwizard JDBI 升级到 JDBI 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44769057/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com