我无法将Play连接到我的MySQL数据库。我更新了application.conf文件以包含数据库连接信息,但是我收到以下错误:
CreationException: Unable to create injector, see the following errors:1) Error in custom provider, Configuration error: Configuration error[Cannot connect to database [default]]
while locating play.api.db.DBApiProvider
while locating play.api.db.DBApi
for field at play.api.db.NamedDatabaseProvider.dbApi(DBModule.scala:80)
while locating play.api.db.NamedDatabaseProvider
at com.google.inject.util.Providers$GuicifiedProviderWithDependencies.initialize(Providers.java:149)
at play.api.db.DBModule$$anonfun$namedDatabaseBindings$1.apply(DBModule.scala:34):
Binding(interface play.api.db.Database qualified with QualifierInstance(@play.db.NamedDatabase(value=default)) to ProviderTarget(play.api.db.NamedDatabaseProvider@14190249)) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1)
Caused by: Configuration error: Configuration error[Cannot connect to database [default]]
这是我的application.conf文件:
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/appdb"
db.default.username=root
db.default.password="root"
ebean.default = ["models.*"]
db.default.jndiName = DefaultDS
# JPA Configuration
jpa.default = defaultPersistenceUnit
我使用Gradle构建所有内容,并添加了所需的依赖项(来自build.gradle):
dependencies {
play "org.hibernate:hibernate-entitymanager:4.3.10.Final"
play "com.typesafe.play:play-java-jpa_2.11:2.4.2"
play "com.typesafe.play:play-java-jdbc_2.11:2.4.3"
}
我可以使用MySQL Workbench连接到数据库(是的,我有appdb创建)没有任何问题,甚至插入了数据。
我已经搜索了多个来源,但没有运气。任何帮助表示赞赏。
答案 0 :(得分:1)
如果其他人遇到同样的问题,正确的导入不是com.typesafe.play:play-java-jdbc_2.11:2.4.3 使用mysql:mysql-connector-java:5.1.36它会起作用。