2014-04-11 2 views
0

나는 여기에 문서 찾고 있어요 : http://slick.typesafe.com/doc/2.0.1/gettingstarted.html#database-connection데이터베이스를로드하는 방법은 무엇입니까?

내가 좋아하는 내 설정에서 내 데이터베이스가있는 경우 : 내 데이터베이스를로드하려면 어떻게

db.default.driver=com.mysql.jdbc.Driver 
db.default.url="jdbc:mysql://localhost/test123" 
db.default.user=root 
db.default.pass="" 

?

Do I use Database.forURL(???) // I already have this in my config 

난 혼란스러워 어떻게 application.conf 설정을 사용하여 데이터베이스를로드합니까? 모든 예제는 .forUrl을 사용하여 하드 코딩 된 값을 사용하고 있습니다. 이 해결

또한, 나는 다음과 같은 패키지/네임 스페이스를 사용하여 몇 가지 예제를 볼 수 있지만 내가 얻을 수없는 것 : DB이 보이지 않기 때문에

import play.api.db._ 

그래서 내가 데이터 소스를 만들 수 없습니다 지금 같은 네임 스페이스에 있어야합니다.

+2

'플레이 jdbc'가'DB.getDataSource'을 가지고, 매끄러운가 Database.forDaraSource''이있다. 또한 https://github.com/freekh/play-slick 모듈이 있습니다 – jilen

답변

1

Slick 설명서에는 Play와 별도로 Slick 라이브러리가 설명되어 있습니다. Play에서는 Slick이 설정 파일을 통해 구성됩니다. 그런 다음 DBAction을 사용하기 만하면 모든 것이 작동합니다.

import play.api.db.slick._ 
import play.api.db.slick.Config.driver.simple._ 

object Application extends Controller{ 
    //create an instance of the table 
    val Cats = TableQuery[CatsTable] //see a way to architect your app in the computers-database-slick sample 

    def index = DBAction { implicit rs => 
    Ok(views.html.index(Cats.list)) 
    } 
    ... 

또한 참조 : https://github.com/freekh/play-slick/blob/master/samples/play-slick-sample/app/controllers/Application.scala

+0

하지만 서비스 계층 또는 DAO 내부에 내 쿼리를 갖고 싶습니다. 그리고 conf 파일에 여러 데이터베이스를 구성하는 옵션. – loyalflow

+0

내가 말하고자하는 것은 내가 놀랍도록 사용하고 싶지만 내 서비스/모델 레이어를 가지고있어 다른 응용 프로그램을 다시 사용할 수 있다는 것입니다. – loyalflow

+0

여러 데이터베이스는 별도의 문제입니다. 정확히 어떻게 처리되는지 모르겠습니다. 어떻게 든 여러 데이터 소스를 구성하고 이름으로 액세스 할 수 있다고 생각합니다. 모델 계층을 분리하면 구성에 영향을 미칩니다. db에 대한 재생 구성을 사용하면 재생과 독립적이지 않습니다. 슬릭 (Slick) 문서에서 설명한 바와 같이 db의 플레이 구성을 완전히 버리고 Slick을 사용하면됩니다. – cvogt

관련 문제