gpt4 book ai didi

java - 什么是 RowMapper、ResultSetExtractor、绑定(bind)变量和查询类型?

转载 作者:搜寻专家 更新时间:2023-11-01 01:11:09 24 4
gpt4 key购买 nike

我知道如何使用 JDBC 模板和 DAO,但我仍有疑问:

  1. RowMapperResultSetExtractor有什么用?
  2. 什么是绑定(bind)变量?
  3. 查询是一种列表吗?

最佳答案

Q1:这些接口(interface)与JdbcTemplate查询数据库时经常使用的RowCallbackHandler一起使用。您实现哪个接口(interface)、如何实现它以及您在 JdbcTemplate 中使用哪种方法取决于您的数据库以及您想要执行的查询类型。来自Spring API doc以及一些额外的评论:

RowMapper :

An interface used by JdbcTemplate for mapping rows of a ResultSet on a per-row basis. Implementations of this interface perform the actual work of mapping each row to a result object

即当数据库中的行与结果对象之间存在一对一关系时,RowMapper 通常用于映射对象。

ResultSetExtractor :

ResultSetExtractor object is typically stateless and thus reusable

ResultSetExtractor 的实现通常会从多行中创建一个对象,随后返回该对象。它是无状态的,因为实现类在方法调用之间不保留任何状态。

RowCallbackHandler :

Implementations of this interface perform the actual work of processing each row [...] In contrast to a ResultSetExtractor, a RowCallbackHandler object is typically stateful: It keeps the result state within the object, to be available for later inspection.

RowCallbackHandler 用于更新或删除行等查询。此外,当您需要跟踪 ResultSet 中的状态时使用它,例如 RowCountCallbackHandler 中的行数.

关于java - 什么是 RowMapper、ResultSetExtractor、绑定(bind)变量和查询类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8410216/

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