我想对我的数据库运行自定义sql select请求。在光滑的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))
但是我想得到一个Seq of Tuples。我怎么能得到它?
答案 0 :(得分:4)
来自DBIO
documentation:
def seq [E&lt ;: Effect](动作:DBIOAction [_,NoStream,E] *): DBIOAction [Unit,NoStream,E]
一个更简单的序列版本,它带有许多DBIOActions 任何返回类型为varargs并返回执行该操作的DBIOAction 各个动作按顺序(使用andThen),return()在 端。
因此,DBIO.seq
将始终返回Unit
。如果您只想执行单个查询,只需将查询本身传递给db.run
方法即可。因此,你最后一行将是:
val f: Future[Seq[(String, String)] = db.run(s)