ScalaとSlickでMySQLにアクセスするサンプル

やってみた。

やり方

Activatorを使います。

hello-slick-2.1」のサンプルプロジェクトを作ります。

プロジェクトディレクトリ直下にあるbuild.sbtに以下行を追加します。

libraryDependencies ++= List(
 "com.typesafe.slick" %% "slick" % "2.1.0",
 "org.slf4j" % "slf4j-nop" % "1.6.4",
 "com.h2database" % "h2" % "1.3.175",
 "mysql" % "mysql-connector-java" % "5.1.24", ← これ
 "org.scalatest" %% "scalatest" % "2.1.6" % "test"
)

Tables.scalaのインポートをMySQL Driverに変えます。

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

HelloSlick.scalaのデータベースに接続する部分のコードを以下のように変更します。

val db = Database.forURL("jdbc:mysql://localhost:3306/scala", driver="com.mysql.jdbc.Driver", user="scala", password="password")

スキーマ名、ユーザー名、パスワードは適宜変更してください。

HelloSlickを実行すると、MySQLデータベースにテーブルがいくつか作られ、データも入ります。SQL文を一行も書いていないのに不思議ですね。すごい。良い。偉い。

具体的にCRUD操作するときにどうすればいいか、は、HelloSlick.scalaを眺めればなんとか分かると思います。