相关疑难解决方法(0)

Scala:通过生成器公开JDBC ResultSet(可迭代)

我在数据库中有一组行,我想提供一个接口来像这样旋转它们:

def findAll: Iterable[MyObject]
Run Code Online (Sandbox Code Playgroud)

我们不需要同时在内存中包含所有实例.在C#中,您可以使用yield轻松创建这样的生成器,编译器负责将循环通过记录集的代码转换为迭代器(将其反转).

我当前的代码如下所示:

def findAll: List[MyObject] = {
  val rs = getRs
  val values = new ListBuffer[MyObject]
  while ( rs.next() ) 
    values += new valueFromResultSet(rs)
  values.toList
}
Run Code Online (Sandbox Code Playgroud)

有没有办法可以将其转换为不将整个集存储在内存中?也许我可以使用一个理解?

iterable scala jdbc

14
推荐指数
3
解决办法
6895
查看次数

标签 统计

iterable ×1

jdbc ×1

scala ×1