我对 Spring JDBC 非常陌生,并且正在处理给定的任务,查看我们已经让我的队友使用 RowMapper 的代码,但我正在做一些谷歌搜索并看到一些教程正在使用 ParameterizedRowMapper ,所以我想知道是否有任何好处或使用一种而不是另一种的良好实践以及您背后的技术思想......
谢谢。
我对 Spring JDBC 非常陌生,并且正在处理给定的任务,查看我们已经让我的队友使用 RowMapper 的代码,但我正在做一些谷歌搜索并看到一些教程正在使用 ParameterizedRowMapper ,所以我想知道是否有任何好处或使用一种而不是另一种的良好实践以及您背后的技术思想......
谢谢。
直接来自ParameterizedRowMapper 的javadoc:
扩展 RowMapper 接口,增加类型参数化。从 Spring 3.0 开始,这相当于直接使用 RowMapper 接口。
在 Spring 3.0 之前,大多数 API 不使用泛型,因为 Java 1.5 不是必需的。结果,有一个 RowMapper,它不支持泛型,而 ParameterizedRowMapper 通过扩展 RowMapper 并添加泛型参数来支持泛型。从 Spring 3.0 开始,大多数 API 都进行了更新以支持泛型。如果您实际查看 ParameterizedRowMapper 的当前(3.0 或更高版本)定义,它只是简单地扩展了 RowMapper 并且没有在定义中添加任何内容以实现向后兼容性。因此,您几乎可以使用参数化或非参数化的 RowMapper,而无需使用 ParameterizedRowMapper。