JDBC连接字符串在Play Framework上不与MySQL一起使用

时间:2013-12-20 01:37:33

标签: mysql scala jdbc playframework-2.0

我正在尝试使用Play Framework 2.2和Scala构建应用程序。

我不太了解Java环境,所以我不确切知道发生了什么。

要使其与MySql一起使用,我应该像这样配置conf/application.conf

db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/sakila"
db.default.user=root
db.default.password="mypass"

一切似乎都适合我,但当我尝试访问它时,我明白了:

 Cannot connect to database [default]

为什么呢?这些信息是对的!该数据库可在localhost:3306 / sakila找到。

我做错了什么?

编辑:这是我的堆栈跟踪。它似乎缺少mysql连接器.jar文件,或类似的东西。我该怎么办?

[成功]编译于734ms [错误] c.j.b.h.Abs​​tractConnectionHook - 无法获得初始连接Sle eping 0ms并再次尝试。尝试离开:0。异常:null.Message:没有sui 找到了mysql的表驱动程序:// localhost:3306 / world [错误]申请 -

! @ 6gjp5p29b - 内部服务器错误,(GET)[/] - >

play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [
default]]
        at play.api.Configuration$.play$api$Configuration$$configError(Configura
tion.scala:92) ~[play_2.10.jar:2.2.1]
        at play.api.Configuration.reportError(Configuration.scala:570) ~[play_2.
10.jar:2.2.1]
        at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:252) ~[pla
y-jdbc_2.10.jar:2.2.1]
        at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:243) ~[pla
y-jdbc_2.10.jar:2.2.1]
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike
.scala:244) ~[scala-library.jar:na]
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike
.scala:244) ~[scala-library.jar:na]
Caused by: java.sql.SQLException: No suitable driver found for mysql://localhost
:3306/world
        at java.sql.DriverManager.getConnection(Unknown Source) ~[na:1.7.0_07]
        at java.sql.DriverManager.getConnection(Unknown Source) ~[na:1.7.0_07]
        at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:363)
 ~[bonecp.jar:na]
        at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:416) ~[bonecp.jar:na]
        at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.jav
a:120) ~[bonecp.jar:na]
        at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:245) ~[pla
y-jdbc_2.10.jar:2.2.1]
[error] application -

! @6gjp5p29b - Internal server error, for (GET) [/] ->

play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [
default]]
        at play.api.Configuration$.play$api$Configuration$$configError(Configura
tion.scala:92) ~[play_2.10.jar:2.2.1]
        at play.api.Configuration.reportError(Configuration.scala:570) ~[play_2.
10.jar:2.2.1]
        at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:252) ~[pla
y-jdbc_2.10.jar:2.2.1]
        at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:243) ~[pla
y-jdbc_2.10.jar:2.2.1]
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike
.scala:244) ~[scala-library.jar:na]
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike
.scala:244) ~[scala-library.jar:na]
Caused by: java.sql.SQLException: No suitable driver found for mysql://localhost
:3306/world
        at java.sql.DriverManager.getConnection(Unknown Source) ~[na:1.7.0_07]
        at java.sql.DriverManager.getConnection(Unknown Source) ~[na:1.7.0_07]
        at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:363)
 ~[bonecp.jar:na]
        at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:416) ~[bonecp.jar:na]
        at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.jav
a:120) ~[bonecp.jar:na]
        at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:245) ~[pla
y-jdbc_2.10.jar:2.2.1]

2 个答案:

答案 0 :(得分:0)

您需要在依赖项中安装MySQL JDBC驱动程序jar。 This page in the documentation显示了如何将derby驱动程序添加到依赖项中。用the MySQL ones替换德比坐标。

答案 1 :(得分:0)

好的,我不知道发生了什么。

我把它放了,它开始起作用了:

db.default.url="jdbc:mysql://localhost:3306/world"
db.default.driver="com.mysql.jdbc.Driver"
db.default.user="root"
db.default.pass="mypasswrd"
db.default.host="localhost"

也许它需要更详细的配置,我只是添加了db.default.host配置,用""对所有内容进行了字符串化(我认为这不是必需的,但无论如何)并检查mysql是否为play dependencies列在{{1}}列表中。由于它被列在那里(事实上它是第一个条目),并且错误没有说它是一个缺少的库,我只是前往Error when i try connect play with mysql 5.5并修复了我的配置。

感谢大家!