0

我已经定义了存储库:

trait Repo[F[_]] {
  def findAll: Stream[F, Stop]
}

它的实现:

class DoobieRepo[F[_]: Sync](xa: Transactor[F]) extends Repo[F] {

  override def findAll: Stream[F, Stop] =
    readAllStopsQ.stream.transact(xa).map{
      case (id, names, direction, lat, lon, typ) => Stop(id, names.split('|').toList, direction, lat, lon, typ)
    }

  def readAllStopsQ =
    sql"select * from stop".query[(String, String, String, Float, Float, String)]
}

在应用程序中,我正在执行以下操作:

val transactor = Transactor.fromDriverManager[Task](
  "org.postgresql.Driver",
  "jdbc:postgresql:test",
  "me",
  ""
)

val repo = new DoobieRepo[Task](transactor)
repo.findAll // Stream[Task, Stop]

问题是我怎样才能将它打印到控制台?(通常对提取的数据进行一些操作)

我试过了:

repo.findAll.map { x =>
  println(x)
}

但不成功

4

0 回答 0