这里的项目成员。
在v3最终版本发布之前,我们将发布一个更完整的迁移指南。与此同时,我们的一个用户刚刚提交了一个不错的更改列表,作为起点:
(见https://github.com/jdbi/jdbi/issues/715)
- 重命名的类(不像删除导入和让IDE修复它那么简单):
- DBI -> Jdbi
- IDBI -> Jdbi
- DBIException -> JdbiException
- Jdbi的构造函数已被创建()工厂方法替换。
- 将ResultSetMapper替换为RowMapper,并且map方法不再具有行索引。Jdbi 3中存在一个名为ResultSetMapper的类,但它的用途不同。@Mapper改为@UseRowMapper。将Jdbi上的registerMapper()替换为registerRowMapper()。
- @BindIn被@BindList取代,不再需要StringTemplate。
- 对于默认的Jdbi模板,不引用尖括号,这意味着IntelliJ在您在Tools ->数据库->用户模式下配置参数模式之后理解语法。
- 查询不再具有默认的Map类型,因此无法直接在其上调用list()。在调用list()之前调用mapToMap()。
- TransactionStatus不再存在。
- TransactionConsumer.useTransaction()现在只接受一个句柄,所以当在Jdbi或句柄上使用useTransaction()方法时,需要删除TransactionStatus参数。
- TransactionCallback.inTransaction()现在只接受一个句柄,所以当在Jdbi或句柄上使用inTransaction()方法时,需要删除TransactionStatus参数。
- CallbackFailedException不再存在。各种功能接口(如HandleConsumer、HandleCallback、TransactionalConsumer和TransactionalCallback )现在可以抛出任何异常类型(但限制使用泛型以避免不必要的检查异常处理)。
- 默认情况下,SQL对象支持不再可用。它必须注册每个创建的Jdbi实例。