如何将数据源注入数据层,使调试输出顺畅

时间:2014-04-02 18:59:52

标签: scala slick

  1. 如何输出我的slick查询将发送到mysql的生成的原始SQL? (用于调试目的)

  2. 有人可以根据请求建议我可以将dataSource(jdbc池)传递给我的数据层吗?

  3. 我的想法是,我可能有10个不同的数据库池,每个池都连接到不同的数据库。我想基于当前登录的用户,基于每个请求动态地将此dataSource传递给我的数据层。

1 个答案:

答案 0 :(得分:1)

1`someQuery.selectStatement``

2怎么样

  // somewhere central
  def getDataSourceForUser(user: User) = /* <- your user to DS mapping here */
  def db(user: User) = Database.fromDataSource(getDataSourceForUser(user))

  // in your query code:
  db(currentUser).withSession{ implicit session =>
    // <- your queries here
  }
}