0

简单版

导入和使用生成的 Slick 表的首选方式是什么?

详细版本和我尝试过的

Tables.scala我使用 Slick 3.1.1 codegen从 MySQL (MariaDB) 模式生成一个。

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

使用这些类的最佳方式是什么?根据Slick 文档

该文件包含一个对象表,可以从中导入代码以立即使用。...该文件还包含一个可用于蛋糕图案的特征表。

...我已经尝试过这个例子的变化

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 类时,都会出现编译错误:

找不到参数表的隐含值:表

我什至没有看到tablesTables.scala如何获得使用我生成的 Slick 类所需的一切?

4

1 回答 1

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("")
}
于 2017-01-05T04:47:56.543 回答