Treating an SQL ResultSet like a Scala Stream

前端 未结 10 2253
天涯浪人
天涯浪人 2020-12-02 10:11

When I query a database and receive a (forward-only, read-only) ResultSet back, the ResultSet acts like a list of database rows.

I am trying to find some way to trea

10条回答
  •  悲哀的现实
    2020-12-02 10:33

    This implementation, although longer and clumsier it is in better correspondence with the ResultSet contract. The side-effect has been removed from hasNext(...) and moved into next().

    new Iterator[String] {
      private var available = resultSet.next()
      override def hasNext: Boolean = available
      override def next(): String = {
        val string = resultSet.getString(1)
        available = resultSet.next()
        string
      }
    }
    

提交回复
热议问题