【问题标题】:populating multiple attribute values in java objects using multiple SQL resultsets使用多个 SQL 结果集填充 java 对象中的多个属性值
【发布时间】:2017-09-20 04:50:39
【问题描述】:

我有一组java类,它们有一定数量的属性, 这些属性是通过针对数据库运行的 SQL 查询分配值的,在某些类中,所有属性都不是由单个 SQL 查询获取,而是由多个查询获取,因此我当前的实现是一个接一个地运行这些查询,并且使用多个结果集来初始化 java 对象。我正在寻找一种更好的方法来做到这一点,请注意我不是 SQL 数据库的生产者,我只是一个消费者,所以我无权访问表的架构。

【问题讨论】:

    标签: java resultset multiple-resultsets


    【解决方案1】:

    要避免对一个对象使用多个 ResulSet,您唯一能做的就是将您的查询重构为一个。当然,如果您无法访问架构,这将不容易做到。但是这个数据库的生产者应该对通过执行一个查询而不是“多个”查询可以获得的性能很敏感。

    如果您真的无法为查询做任何事情,那么您可以搜索或构建一个实用程序来在一个类中合并/装饰/组合多个 ResulSet。

    无论如何,我认为从多个 ResulSet 构建一个对象没有任何问题。问题更多是您无法拥有一个 ResulSet 的原因。

    【讨论】:

    • 从多个结果集中构建单个对象很烦人,因为它让我通过错误,比如另一个结果集中的一列可能为空,等等,因此寻找更好的方法来解决这个问题。
    • 是的,这很烦人,我同意,但它确实发生了。如前所述,问题在于您必须对一个对象使用许多查询。希望你能一个查询解决。
    猜你喜欢
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    相关资源
    最近更新 更多