有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java connect MySQL数据库与playframework 2.5

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

我收到这个错误

either dataSource or dataSourceClassName is required

这些是我在应用程序中使用的连接代码。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其工作性能良好

请帮助我,告诉我做错了什么


共 (3) 个答案

  1. # 1 楼答案

    这终于对我起作用了:-

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

    这是对我有用的东西

    取消对这些行的注释

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

    然后

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

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

    非常感谢这个answer

  2. # 3 楼答案

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

    所以:
    db默认值。driver=com。mysql。jdbc。驱动程序
    应该是:
    违约driver=com。mysql。jdbc。驾驶员

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