Play 无法连接 MySQL

Posted

技术标签:

【中文标题】Play 无法连接 MySQL【英文标题】:Play can't connect to MySQL 【发布时间】:2015-09-30 12:03:23 【问题描述】:

我无法让 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),没有任何问题,甚至可以插入数据。

我已经搜索了多个来源,但没有运气。任何帮助表示赞赏。

【问题讨论】:

【参考方案1】:

如果其他人有同样的问题,正确的导入不是 com.typesafe.play:play-java-jdbc_2.11:2.4.3 使用 mysql:mysql-connector-java:5.1.36 就可以了。

【讨论】:

以上是关于Play 无法连接 MySQL的主要内容,如果未能解决你的问题,请参考以下文章

无法登陆google play怎么办?说与服务器连接不上。

Play Framework 无法连接到 WS

MYSQL为啥用IP地址无法连接

MYSQL为啥用IP地址无法连接

MYSQL为啥用IP地址无法连接

Play Framework:数据库连接池关闭