Skip to content

Instantly share code, notes, and snippets.

@number23
Last active March 18, 2017 17:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save number23/74b1c017c3d0398454e4b5f530bffcaa to your computer and use it in GitHub Desktop.
Save number23/74b1c017c3d0398454e4b5f530bffcaa to your computer and use it in GitHub Desktop.
java.sql.Result Iterator on Scala
import java.sql._
def resultSetItr[T](res: ResultSet)(f: ResultSet => T): Stream[T] = {
new Iterator[T] {
def hasNext = res.next()
def next() = f(res)
}.toStream
}
def query[T](conn: Connection, sql: String)(f: ResultSet => T): List[T] = {
val s = conn.createStatement
try {
val res = s.executeQuery(sql)
val it = resultSetItr(res)(f)
it.toList
} finally {
s.close
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment