2016-07-03 73 views
2

我是試圖連接MySQL數據庫與Play-framework- Java2.5.4連接MySQL數據庫與play-framework 2.5

我收到此錯誤

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的://本地主機:3306/playdb)
  • 用戶名
  • 密碼

使用的IntelliJ其做工精細

請幫我告訴我我做錯了什麼。

+0

您在其他地方發生錯誤,請檢查您的dataSource配置。像這樣:'db.default.datasource =「com.mysql.jdbc.jdbc2.optional.MysqlDataSource」' – BaBL86

+0

在哪裏寫這個,你的意思是在app.conf –

+0

@ BaBL86謝謝,我應該把它包含在應用程序中。conf文件 –

回答

6

玩2.5.X最後這個工作對我來說: -

此錯誤殺了我大量的時間。

這裏是我工作,

取消註釋這些行。

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.*,因爲你已經在數據庫中設定的範圍內。

非常感謝這個answer

-1

檢查這個例子回購https://github.com/pedrorijo91/play-slick3-steps

您還可以看到教程我在http://pedrorijo.com/blog/play-slick/

做,而兩者都旨在發揮2.4.x的,你應該能夠理解什麼是您所遇到的錯誤。不過,還有一個PR升級爲https://github.com/pedrorijo91/play-slick3-steps/pull/2

+0

通過添加## mysql「%」mysql-connector-java「%」獲得了這些錯誤5.1.34 名.bst ## ####錯誤啓動### 錯誤注入方法,java.lang.NoSuchMethodError:play.api.PlayConfig.getOptional(Ljava /郎/字符串; Lplay/API/ConfigLoader ;)Lscala /尺碼; 在com.google.inject.util.Providers $ GuicifiedProviderWithDependencies.initialize(Providers.java:149) 在play.db.DBModule.bindings(DBModule.java:40): ####錯誤結束## # –

+0

你看過我提到的公關嗎? – pedrorijo91