将 Dropwizard JDBI 升级到 JDBI 3
Upgrading Dropwizard JDBI to JDBI 3
你如何将 dropwizard jdbi 2.78 升级到 jdbi 版本 3,因为我想使用其中包含的连接功能。
这里是项目成员。
我们将在 v3 最终版本发布之前发布更完整的迁移指南。与此同时,我们的一位用户刚刚提交了一份不错的更改列表作为起点:
(见https://github.com/jdbi/jdbi/issues/715)
重命名 classes(所以不像删除导入并让 IDE 修复它那么简单):
- DBI -> Jdbi
- IDBI -> Jdbi
- DBIException -> JdbiException
Jdbi 的构造函数已替换为 create() 工厂方法。
ResultSetMapper 替换为 RowMapper,map 方法不再有行索引。 Jdbi 3 中存在一个名为 ResultSetMapper 的 class,但它有不同的用途。 @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 不再存在。各种功能接口,如 HandleConsumer、HandleCallback、TransactionalConsumer 和 TransactionalCallback,现在可以抛出任何异常类型(但限制使用泛型以避免不必要的检查异常处理)。
SQL 默认情况下不再提供对象支持。每个创建的Jdbi实例都必须注册它。
请参阅 Jdbi 3 开发人员指南中的 Dropwizard JDBI3 in the Dropwizard User Manual and Upgrading from v2 to v3。
你如何将 dropwizard jdbi 2.78 升级到 jdbi 版本 3,因为我想使用其中包含的连接功能。
这里是项目成员。
我们将在 v3 最终版本发布之前发布更完整的迁移指南。与此同时,我们的一位用户刚刚提交了一份不错的更改列表作为起点:
(见https://github.com/jdbi/jdbi/issues/715)
重命名 classes(所以不像删除导入并让 IDE 修复它那么简单):
- DBI -> Jdbi
- IDBI -> Jdbi
- DBIException -> JdbiException
Jdbi 的构造函数已替换为 create() 工厂方法。
ResultSetMapper 替换为 RowMapper,map 方法不再有行索引。 Jdbi 3 中存在一个名为 ResultSetMapper 的 class,但它有不同的用途。 @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 不再存在。各种功能接口,如 HandleConsumer、HandleCallback、TransactionalConsumer 和 TransactionalCallback,现在可以抛出任何异常类型(但限制使用泛型以避免不必要的检查异常处理)。
SQL 默认情况下不再提供对象支持。每个创建的Jdbi实例都必须注册它。
请参阅 Jdbi 3 开发人员指南中的 Dropwizard JDBI3 in the Dropwizard User Manual and Upgrading from v2 to v3。