Java 使用play framework 2.5连接MySQL数据库

Java 使用play framework 2.5连接MySQL数据库,java,mysql,scala,intellij-idea,playframework,Java,Mysql,Scala,Intellij Idea,Playframework,我正在尝试用Play framework-Java连接MySQL数据库 我收到这个错误 either dataSource or dataSourceClassName is required 这些是我在App.conf文件中使用的连接代码 db { db.default.driver=com.mysql.jdbc.Driver db.default.url="jdbc:mysql://localhost:3306/playdb" db.default.user="root"

我正在尝试用Play framework-Java连接MySQL数据库

我收到这个错误

either dataSource or dataSourceClassName is required
这些是我在App.conf文件中使用的连接代码

db {
  db.default.driver=com.mysql.jdbc.Driver
  db.default.url="jdbc:mysql://localhost:3306/playdb"
  db.default.user="root"
  db.default.password="9413678957"
}
但它在连接时给了我以下错误:

caused by: java.lang.IllegalArgumentException: either dataSource or dataSourceClassName is required
    at com.zaxxer.hikari.HikariConfig.validate(HikariConfig.java:785)
    at play.api.db.HikariCPConfig.toHikariConfig(HikariCPModule.scala:141)
    at play.api.db.HikariCPConnectionPool$$anonfun$1.apply(HikariCPModule.scala:57)
    at play.api.db.HikariCPConnectionPool$$anonfun$1.apply(HikariCPModule.scala:54)
    at scala.util.Try$.apply(Try.scala:192)
    at play.api.db.HikariCPConnectionPool.create(HikariCPModule.scala:54)
    at play.api.db.PooledDatabase.createDataSource(Databases.scala:199)
    at play.api.db.DefaultDatabase.dataSource$lzycompute(Databases.scala:123)
    at play.api.db.DefaultDatabase.dataSource(Databases.scala:121)
    at play.api.db.DefaultDatabase.getConnection(Databases.scala:142)
当我使用相同的连接到mysql数据库时(与App.conf中相同)

  • url(jdbc:mysql://localhost:3306/playdb)
  • 用户名
  • 密码
使用Intellij其工作性能良好

请告诉我我做错了什么来帮助我。

检查这个回购示例

你也可以看到我在


虽然两者都是为了玩2.4.x游戏,但你应该能够理解你所犯的错误。尽管如此,在

上还有一个PR需要升级到play 2.5.x,这对我来说终于奏效了:-

这个错误浪费了我很多时间。

这是对我有用的东西

取消对这些行的注释

    play.db {
             config = "db"
             default = "default" 
    } 
然后

不需要
db.default.
,因为您已经在db set范围内。


非常感谢这一点。

您不能在路径中指定db,您已经在配置的db部分中了

所以:
db.default.driver=com.mysql.jdbc.driver
应该是:
default.driver=com.mysql.jdbc.driver


如果您在其他位置出现错误,请检查数据源配置。像这样:`db.default.datasource=“com.mysql.jdbc.jdbc2.optional.MysqlDataSource”`在哪里写这个,你的意思是在应用程序中。conf@BaBL86谢谢,我应该将其包含在application.conf文件中吗?尝试将
db.default.hikaricp.connectionTestQuery=“SELECT TRUE”
添加到application.conf中通过添加##mysql“%”mysql connector java“%获得这些错误5.1.34对于build.sbt########errors start####Error注入方法,java.lang.NoSuchMethodError:play.api.PlayConfig.getOptional(Ljava/lang/String;Lplay/api/ConfigLoader;)Lscala/Option;在com.google.inject.util.Providers$GuicifiedProviderWithDependencies.initialize(Providers.java:149)at play.db.DBModule.bindings(DBModule.java:40):######错误结束#####你看过我提到的pr了吗?
    db {

  default.driver=com.mysql.jdbc.Driver
  default.url="jdbc:mysql://localhost:3306/playdb"
  default.username=root
  default.password="9403678957"
}
db {
  default.driver=com.mysql.jdbc.Driver
  default.url="jdbc:mysql://localhost:3306/playdb"
  default.user="root"
  default.password="9413678957"
}