sed*_*vav 9 scala slick typesafe slick-3.0
在Slick 2.1中,我有以下代码从文件执行sql-query:
def fetchResult[T](sql: String)(implicit getResult: GetResult[T]): List[T] = {
val query = Q.queryNA[T](sql)
try {
Database.forDataSource(DB.getDataSource())
.withSession { implicit session => query.list }
}
catch {
case e: Throwable =>
throw new RunSqlException(s"Query $name execution error", e)
}
}
Run Code Online (Sandbox Code Playgroud)
在Slick 3.0.0中,您使用dbConfig.db.run方法来执行DBIOAction并获得结果的未来.但是我找不到将Q.queryNA(也就是StaticQuery[Unit, R]
)的结果转换成的方法DBIOAction
.这样的方式存在吗?
我现在结束了不赞成的电话.帮助我变得更好!
def fetchResult[T](sql: String)(implicit getResult: GetResult[T]): Future[List[T]] = Future {
val query = Q.queryNA[T](sql)
try {
this.dbConfig.db.withSession { implicit session => query.list }
}
catch {
case e: Throwable =>
throw new RunSqlException(s"Query $name execution error", e)
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
只有我设法找到的解决方案有点hackish:
import slick.driver.HsqldbDriver.api._
def fetchResult[T](sql: String) = {
database.run(sqlu"""#$sql""")
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1230 次 |
最近记录: |