6

我正在尝试使用 slick 1.0.0 连接到 mysql 数据库。

到目前为止我所做的:

在 Build.scala 我添加了

val appDependencies = Seq(
    anorm,
    "mysql" % "mysql-connector-java" % "5.1.24",
    "com.typesafe.slick" % "slick_2.10" % "1.0.0",
    "org.slf4j" % "slf4j-nop" % "1.6.4"
)

在 application.conf

db.default.driver=com.mysql.jdbc.Driver
db.default.url="url to mysql db"
db.default.user=user
db.default.pass=password

现在我正在尝试从数据库中读取条目。为此,我有一个模型

package models

import scala.slick.driver.MySQLDriver.simple._
import Database.threadLocalSession

object Organisations extends Table[(Int, String)]("Organisation")
{
    def id = column[Int]("id", O.PrimaryKey)
    def name = column[String]("name")
    def * = id ~ name
}

现在我只想输出条目

val orgs =
    for { o <- Organisations } yield o.name

println("Length" + orgs.toString())

但它不起作用。我确定我犯了很多错误,但似乎没有关于 mysql 的安迪光滑教程。

感谢您的耐心等待,我希望我的解释清楚。

4

3 回答 3

5

使用 Slick 需要一些样板,创建会话等等,看看 Fredrik Ekholdt 编写的 Play-Slick 插件(类型安全)!

它为您完成所有工作,并且 wiki 上有很好的示例说明如何使用它。

https://github.com/freekh/play-slick/

于 2013-05-15T17:37:35.337 回答
2

新的 Slick 2.0 还具有一个代码生成器,可以与 Play Framework 演变一起使用。

这意味着您不必再为 Slick 编写样板文件。只需使用进化文件编写您的数据库更改,然后立即从您的代码中访问新表。

您可以在此处找到使用 MySQL 的完整示例:

https://github.com/papauschek/play-slick-evolutions

以及有关其工作原理的更多信息:

http://blog.papauschek.com/2013/12/slick-2-0-code-generator-play-framework-evolutions/

于 2013-12-30T13:31:52.503 回答
1

Play 团队也一直在为 Techempower 制定一个灵活的基准测试。这是一项正在进行的工作,但我们很快就会对完成的版本提出 PR(我怀疑是接下来的 24 小时):

https://github.com/nraychaudhuri/FrameworkBenchmarks/tree/adding_missing_slickness/play-slick

于 2013-05-16T04:06:10.073 回答