导入和使用生成的Slick表的首选方法是什么?
我使用Slick 3.1.1 codegen从MySQL(MariaDB)架构生成Tables.scala
。
Tables.scala
以此开头:
// AUTO-GENERATED Slick data model
/** Stand-alone Slick data model for immediate use */
object Tables extends {
val profile = slick.driver.MySQLDriver
} with Tables
使用这些课程的最佳方法是什么?根据{{3}}:
该文件包含一个对象表,可以从中导入代码以便立即使用。 ...该文件还包含一个可以在蛋糕模式中使用的特征表。
...我已在Slick documentation
尝试了各种变体import Tables._
import Tables.profile.api._
import slick.jdbc.JdbcBackend
class Test(s: String)(implicit db: Database) {
def exec[T](action: DBIO[T])(implicit db: Database): T =
Await.result(db run action)
def run: Unit = exec(((ATable filter (_.id)).result)
}
object Test {
implicit val db = Database.forURL(url, user, password)
new Test("")
}
无论我在哪里引用类ATable,我都会遇到编译错误:
could not find implicit value for parameter tables: Tables
我甚至没有在tables
中看到Tables.scala
。如何在范围内获得我使用生成的Slick类的所有内容?
答案 0 :(得分:0)
我得到了一个工作示例:Tables._
和Tables.profile.api._
只需要在类中导入,并且隐式Database
可用。
import slick.jdbc.JdbcBackend
class Test(s: String)(implicit db: Database) {
import Tables._
import Tables.profile.api._
def exec[T](action: DBIO[T])(implicit db: Database): T =
Await.result(db run action)
def run: Unit = exec(((ATable filter (_.id)).result)
}
object Test {
implicit val db = Database.forURL(url, user, password)
new Test("")
}