gpt4 book ai didi

java - 如何使用 DBUtils 查询 Set

转载 作者:太空宇宙 更新时间:2023-11-04 10:35:38 24 4
gpt4 key购买 nike

查看DBUtils API 文档,我看不到是否可以查询 Set。

我应该使用哪种 ResultSetHandler 实现来查询对象集?

最佳答案

我认为 Set 没有默认实现。您可以为 Set 创建通用处理程序,如下所示。

public class SetHandler<T> implements ResultSetHandler<Set<T>> {
private final RowProcessor rp = new BasicRowProcessor();
private final Class<T> type;

public SetHandler(Class<T> type) {
this.type = type;
}

@Override
public Set<T> handle(ResultSet rs) throws SQLException {
Set<T> set = new HashSet<>();
while (rs.next()) {
set.add((T) this.rp.toBean(rs,type));
}
return set;
}
}

一个缺点是 toBean 方法尝试为 ResultSet 中的每一行查找 ResulSet Column-Bean 属性映射,而 toBeanList 方法(由 BeanListHandler 使用)每个列表仅查找一次此映射。

有一个 BeanMapHandler 返回 HashMap,它内部使用 toBean 方法,因此我认为对于 Sets/Maps,我们必须依赖 toBean 方法或编写自定义 RowProcessor

关于java - 如何使用 DBUtils 查询 Set<MyObject>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49516484/

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