Slick 3.0.0 выполнять запросы

У меня проблема, как правильно выполнять запросы с помощью slick 3.0.

Основная идея: 1) Подготовить функциональные запросы 2) выполнить и получить список объектов

Теперь я могу сделать это так

val q = user.filter(_.id > 1)

val res = Await.result(db.run(DBIO.seq(
  q.result.map(println)
)), Duration.Inf)

но в этом случае я должен создать некоторую переменную в db.run.

Не могли бы вы привести пример, как выполнить простой запрос и получить результат List в val ?

BR!


person initmax    schedule 11.07.2015    source источник


Ответы (2)


Звонок map(println) даст вам List[Unit], что, вероятно, не то, что вам нужно. Попробуй это:

val q = user.filter(_.id > 1)
val future = db.run(q.result)
val users = Await.result(future, Duration.Inf)

users foreach println
person dwickern    schedule 11.07.2015

что вам нужно сделать, это просто добавить «.toList» в конце вашего заявления

val q = user.filter(_.id > 1)
val res = Await.result(db.run(DBIO.seq( q.result.map(println))), Duration.Inf).toList
person rylxes    schedule 12.08.2015