运维开发网

如果我们使用特定的数据源,如何在Play Framework(Scala,Scaldi)中注入数据库?

运维开发网 https://www.qedev.com 2020-06-15 12:59 出处:网络 作者:运维开发网整理
我想在我的play框架项目中使用Anorm作为DB库,将Scaldi作为DI.但是现在我无法注入数据库,因为在最新的游戏框架中,我们不能再使用DB.getConnection(“datasource”)了. 你们中的任何人都可以解释如何将NamedDatabase告知scaldi环境? 顺便说一句,这是我的代码snipet如何在Play scala中使用NamedDatabase. class M
我想在我的play框架项目中使用Anorm作为DB库,将Scaldi作为DI.但是现在我无法注入数据库,因为在最新的游戏框架中,我们不能再使用DB.getConnection(“datasource”)了.

你们中的任何人都可以解释如何将NamedDatabase告知scaldi环境?

顺便说一句,这是我的代码snipet如何在Play scala中使用NamedDatabase.

class MembershipSqlStorage @Inject() (@NamedDatabase("membership") db: Database)

它的工作原理.

谢谢

PlayFramework为Anorm DB库Scaldi DI提供了有用的文档.

你可以参考:

https://www.playframework.com/documentation/2.6.x/Tutorials

https://www.playframework.com/documentation/2.6.x/PlaySlick

您需要将Anorm和JDBC插件添加到依赖项中:

libraryDependencies = Seq(

  JDBC,

  “com.typesafe.play”%%“anorm”%“2.5.1”

)

第一,

“import anorm._”

然后只需使用SQL对象来创建查询.你需要一个Connection来运行一个查询,你可以在DI的帮助下从play.api.db.DB帮助器中检索一个 –

database.withConnection {implicit c =>

val result:Boolean = SQL(“Select 1”).execute()

}

要在播放应用程序中添加Scaldi支持,您需要在build.sbt中包含scaldi-play:

libraryDependencies =“org.scaldi”%%“scaldi-play”%“0.5.15”

也是https://github.com/playframework/anorm

0

精彩评论

暂无评论...
验证码 换一张
取 消