2013-05-15 9 views
6

Ich versuche, mit Slick 1.0.0 eine Verbindung zu einer MySQL-Datenbank herzustellen.Erstellen Sie eine MySQL-Verbindung in Playframework mit Slick

Was ich bisher getan:

in Build.scala habe ich hinzugefügt

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" 
) 

in application.conf

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

und jetzt zu lesen, ich versuche, ein Eintrag aus der DB. Dazu habe ich ein Modell

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 
} 

und jetzt würde Ich mag nur ausgegeben, um die Einträge

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

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

Aber es funktioniert nicht. Ich bin mir sicher, dass ich viele Fehler gemacht habe, aber es scheint nicht, dass Andy Slick Tutorials mit MySQL zu sein.

Vielen Dank für Ihre Geduld und ich hoffe, meine Erklärungen sind klar.

+0

Können Sie "funktioniert nicht" qualifizieren? Welche unerwarteten Verhaltensweisen oder Ausnahmen sehen Sie? – cmbaxter

+0

danke für die antwort. Das Problem war all das Boilerplate, über die @johanandren spricht. Ich wusste nicht, wie ich Slick sagen kann, um meine Konfigurationsdatei und all das zu verwenden. Mit dem Plugin funktioniert es jetzt :) – Archaeron

Antwort

5

Die Verwendung von Slick erfordert ein wenig Standard, Session erstellen und alles, check das Play-Slick-Plugin geschrieben von Fredrik Ekholdt (typesafe)!

Es tut alles für Sie plumbing und es gibt gute Beispiele im Wiki, wie man es benutzt.

+0

vielen Dank :) Es funktioniert super. Jetzt muss ich nur die Details herausfinden. Du bist großartig! – Archaeron

+0

bin ich der Einzige, der sich ein wenig Sorgen macht? https://www.dropbox.com/s/6vakhhlik4msy1o/Screenshot%202015-10-21%2016.18.48.png?dl=0 Ich finde alle Dinge Play Framework, um ziemlich schlecht dokumentiert zu sein. – Ashesh

2

Der neue Slick 2.0 auch einen Code Generator verfügt, die zusammen verwendet werden können, mit Play Framework Entwicklungen.

Das bedeutet, dass Sie müssen nicht mehr die Vorlage für Slick schreiben. Schreiben Sie einfach Ihre Datenbankänderungen mit evolutions-Dateien und greifen Sie sofort auf die neuen Tabellen aus Ihrem Code zu.

Sie können ein komplettes Beispiel mit MySQL finden Sie hier:

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

und mehr Informationen darüber, wie es funktioniert:

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

+0

danke, ich werde es beim nächsten Mal, wenn ich eine Play-Anwendung schreibe. (Wird in einem oder zwei Monaten sein) – Archaeron

+1

Ich benutze diese Methode jetzt in einem neuen Projekt, und nach einem Tag, an dem es funktioniert, ist es jetzt großartig. – Archaeron