我正在尝试将 ScalaQuery 与 play 2 一起使用,但我不断收到““没有合适的驱动程序...”错误。数据库连接与 Anorm/Nina 一起工作正常。这是我的 ScalaQuery 代码:
object Client extends Table[(Int, String)]("Client") {
val database = Database.forURL("jdbc:mysql://localhost/play2test", driver = "com.mysql.jdbc.Driver" , user="root", password="root")
def id = column[Int]("id", O NotNull, O AutoInc)
def name = column[String]("name", O NotNull)
def * = id ~ name
def findAll = database.withSession {
implicit db: Session =>
(for (t <- this) yield t.id ~ t.name).list
}
}
我添加了 sbt 依赖项:
"mysql" % "mysql-connector-java" % "5.1.21"
我在 application.conf 上有这个
db.default.driver=com.mysql.jdbc.Driver
db.default.url="mysql://root:root@127.0.0.1/play2test"
db.default.user=root
db.default.password=root
(我尝试将 forDataSource 方法与 play 的 DB.getDataSource() 一起使用,但没有得到更好的结果)
一件尴尬的事情是我无法导入 com.mysql._,所以显然驱动程序甚至没有被下载(尽管 sbt 说它已经下载了)。我什至尝试下载 jar 并将其手动添加到我的项目下的 /lib 文件夹中,但导入仍然无法正常工作。
我被困住了,我需要一点帮助。:(
编辑:我删除了“jdbc:mysql://localhost/play2test”并重写了它(在另一个线程上找到了那个提示),现在我遇到了一个新问题:
[MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '."id","t1"."name" FROM "Client" "t1"' at line 1]
为什么 ScalaQuery 对 MySQL 使用双引号以及如何更改它?
Edit2:问题解决了,我对 ScalaQuery 的 SQL 驱动程序的导入错误。