2013-05-15 7 views
6

Próbuję połączyć się z bazą danych mysql ze śliskim 1.0.0.Utwórz połączenie MySQL w Playframework ze śliskim

Co zrobiłem do tej pory:

w Build.scala Dodałem

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

w application.conf

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

i teraz staram się czytać wpis z DB. Do tego Mam modelu

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 
} 

i teraz chciałbym po prostu wyjście wpisy

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

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

Ale to nie działa. Jestem pewien, że popełniłem mnóstwo błędów, ale nie wydaje mi się, by były to świetne samouczki z mysql.

Dziękuję za cierpliwość i mam nadzieję, że moje wyjaśnienia są jasne.

+0

można zakwalifikować "nie działa"? Jakie rodzaje nieoczekiwanych zachowań lub wyjątków widzisz? – cmbaxter

+0

dziękuję za odpowiedź. Problemem było to wszystko, o czym mówi historia @johanandren. Nie wiedziałem, jak powiedzieć, że użyję mojego pliku konfiguracyjnego i tak dalej. Z wtyczką to działa teraz :) – Archaeron

Odpowiedz

5

Używanie Slicka wymaga odrobiny przyłbicy, tworzenia sesji i wszystkiego innego, kasy dodatku Play-Slick napisanego przez Fredrika Ekholdta (typesafe)!

Wykonuje wszystkie prace hydrauliczne dla ciebie i istnieją dobre przykłady na wiki, jak z niego korzystać.

+0

dziękuję bardzo :) Działa świetnie. Teraz muszę tylko wymyślić szczegóły. Jesteś świetny! – Archaeron

+0

Czy jestem tym jedynym, który jest tym trochę zaniepokojony? https://www.dropbox.com/s/6vakhhlik4msy1o/Screenshot%202015-10-21%2016.18.48.png?dl=0 Uważam, że wszystkie rzeczy w Play Framework są dość słabo udokumentowane. – Ashesh

2

Nowy Slick 2.0 posiada również generator kodu, które mogą być używane razem z Play Framework Evolutions.

To oznacza, że ​​nie trzeba już pisać płyty podstawowej dla Slick. Wystarczy zapisać zmiany w bazie danych za pomocą plików ewolucji i natychmiast uzyskać dostęp do nowych tabel z kodu.

można znaleźć pełny przykład MySQL tutaj:

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

i więcej informacji o tym, jak to działa:

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

+0

dziękuję, przyjrzę się temu następnym razem, gdy napiszę aplikację do zabawy. (Będzie za miesiąc lub dwa) – Archaeron

+1

Używam tej metody w nowym projekcie teraz, a po dniu, w którym udało mi się go uruchomić, teraz jest świetnie. – Archaeron