有任何更好的方法将SQL ResultSet转换为Scala列表

use*_*167 7 scala jdbc

有没有更好的方法将ResultSet从SQL查询转换为Scala中的Array/List?
下面显示的天真的方式不是Scala.我想知道如何改进它.

val rs = pstmt.executeQuery()
var nids = List[String]()
while (rs.next()) {
  nids = nids :+ rs.getString(1)
}
rs.close()
Run Code Online (Sandbox Code Playgroud)

SCo*_*uto 11

你为什么不试试这个:

new Iterator[String] {
  def hasNext = resultSet.next()
  def next() = resultSet.getString(1)
}.toStream
Run Code Online (Sandbox Code Playgroud)

从这个答案采取这里


Mic*_*cha 8

我有一个类似的问题,我的解决方案是:

Iterator.from(0).takeWhile(_ => rs.next()).map(_ => rs.getString(1)).toList

希望这会有所帮助。