java - 无法连接到数据库 - PlayFramework + Ebean

标签 java mysql playframework

关于同一错误有很多问题,但这些答案对我没有帮助。

错误是:

[CompletionException: javax.persistence.PersistenceException: The default EbeanServer has not been defined? This is normally set via the ebean.datasource.default property. Otherwise it should be registered programmatically via registerServer()]

引发此错误的代码:

public Result newuser() {
    Form<UserAuth> userform = formFactory.form(UserAuth.class).bindFromRequest();
    if(userform.hasErrors()) {
        return landing();
    }

    userform.get().save();
    flash("success", "User " + userform.get().login + " has been added");
    return landing();
}

构建.sbt:

version := "1.0-SNAPSHOT" 
lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
evolutions,
"com.adrianhurt" %% "play-bootstrap" % "1.1-P25-B3",
"mysql" % "mysql-connector-java" % "5.1.21"
)

插件.sbt:

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.10")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-enhancer" % "1.1.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.2")

应用程序.conf:

play.evolutions {
   #db.default.enabled = false
}

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

 prototype {
 # Sets a fixed JDBC connection pool size of 50
 #hikaricp.minimumIdle = 50
 #hikaricp.maximumPoolSize = 50
 pool = "default"
 driver = com.mysql.jdbc.Driver
 user=user
 password=pass
 url="jdbc:mysql://localhost/typobank"

 hikaricp {
  #connectionTestQuery = "SELECT 1"
 }
 }
 }
 db {
    db.default.driver=com.mysql.jdbc.Driver
    db.default.url="jdbc:mysql://localhost/typobank?characterEncoding=UTF-8"
    db.default.username=hiddenuser
    db.default.password=pass
    ebean.default=["models.*"]
 }

最佳答案

这令人难以置信,但在扔掉默认配置垃圾后,我的一切都正常了!

这里工作纯配置:

play.crypto.secret = "changeme"

play.i18n.langs = [ "en" ]

db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost/typobank?characterEncoding=UTF-8"
db.default.username=hiddenuser
db.default.password=pass

ebean.default=["models.*"]

关于java - 无法连接到数据库 - PlayFramework + Ebean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40837909/

相关文章:

Java 通过 Servlet 连接到远程 MySQL 数据库

java - 为什么 Java 中的完整数组在部分初始化时不打印?

php - codeigniter 选择查询问题

php - 不唯一的表/别名 : 'user' phpmyadmin XAMPP

php - PHP中的JSON解析错误

session - playframework 中的对象 session

java - Play Framework : load javascript only on specific method calls

Java-错误-MessageTooLongExceptionn

java - hibernate spring 不关闭连接

jquery - @{Controller.action()} 在 JavaScript 文件中的用法