0

我想对我的数据库运行自定义 sql 选择请求。遵循 slick 3 docs我最终得到了这样的东西

"com.typesafe.slick" %% "slick" % "3.0.1",
"mysql" % "mysql-connector-java" % "5.1.35",

import slick.driver.MySQLDriver.api._

val db = Database.forURL(url, username, password, driver = driver)

val s = sql"""select name, email from users""".as[(String, String)]

val f: Future[Unit] = db.run(DBIO.seq(s))

但我想得到一个元组序列。我怎么才能得到它?

4

1 回答 1

4

DBIO 文档中:

def seq[E <: Effect](actions: DBIOAction[_, NoStream, E]*): DBIOAction[Unit, NoStream, E]

一个更简单的序列版本,它接受许多具有任何返回类型的 DBIOAction 作为可变参数,并返回一个 DBIOAction,它按顺序执行各个操作(使用 andThen),最后返回 ()。

所以,DBIO.seq总会回来Unit的。如果您只想执行单个查询,只需将查询本身传递给db.run方法。因此,您的最后一行将是:

val f: Future[Seq[(String, String)] = db.run(s)

于 2015-08-28T11:55:40.433 回答