2016-01-27 3 views
2

У меня, кажется много примеров в Интернете, который имеет гладкую 3 конфигурацию следующимSlick 3, как я могу получить конфигурацию по умолчанию в файле приложения

slick.dbs.default.driver="slick_driver" 
slick.dbs.default.db.driver="db_driver" 
slick.dbs.default.db.url="URL_file 
slick.dbs.default.db.user="user" 
slick.dbs.default.db.password="password" 

Мой вопрос заключается в том, как вы можете подключиться к тому, что внутри Scala контроллер? Я использую play framework версии 2.4.6. Я попытался это

def db: Database = Database.forDataSource(DB.getDataSource()) 

, но я получаю сообщение об ошибке

Error:(5, 17) Play 2 Compiler: 
C:\Users\nemer\mycontroller\app\controllers\Application.scala:5: 
    object db is not a member of package play.api 
import play.api.db.DB 
       ^

Мой контроллер выглядит так

package controllers 


import org.mindrot.jbcrypt.BCrypt 
import play.api.db.DB 

import play.api.libs.json.{Json, JsValue} 
import play.api.mvc._ 
import slick.driver.PostgresDriver.api._ 
import scala.concurrent.duration._ 
import scala.concurrent.Await 
import play.api.libs.concurrent.Execution.Implicits._ 


class Application extends Controller { 


// I am trying to get the Slick config settings in here 
def db: Database = Database.forDataSource(DB.getDataSource()) 

    def mypage = Action { 



    val json: JsValue = Json.parse(""" 
{ 
    "name" : "Watership Down", 
    "location" : { 
    "lat" : 51.235685, 
    "long" : -1.309197 
    }, 
    "residents" : [ { 
    "name" : "Fiver", 
    "age" : 4, 
    "role" : null 
    }, { 
    "name" : "Bigwig", 
    "age" : 6, 
    "role" : "Owsla" 

    } ] 
} 
            """) 
    Ok(json).as("text/json") 
    } 

} 

ответ

0

в конфе, я определяю базу данных следующим образом:

db.test.driver="com.mysql.jdbc.Driver" 
db.test.url="jdbc:mysql://localhost/test" 
db.test.user="test" 
db.test.password="test" 

в файле .scala, я использую t он базы данных, как это:

import com.typesafe.config.ConfigFactory 

val config = ConfigFactory.load() 
val db = Database.forConfig("db.test", config) 

Затем выберите из базы данных следующим образом:

db.withSession { implicit session => 
    myTable.filter(_.id === "123").firstOption 
}