我想在我的play框架项目中使用Anorm作为DB库,将Scaldi作为DI。但是现在我无法注入数据库,因为在最新的游戏框架中,我们不能再使用DB.getConnection(" datasource")。
你们中的任何人都可以解释如何将NamedDatabase控制到scaldi环境?
顺便说一下,我的代码了解了如何在Play scala中使用NamedDatabase。
class MembershipSqlStorage @Inject() (@NamedDatabase("membership") db: Database)
它有效。
由于
答案 0 :(得分:-1)
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”