【问题标题】:connecting playframework with mysql(Data is not adding into the table)将playframework与mysql连接(数据未添加到表中)
【发布时间】:2014-04-03 11:51:37
【问题描述】:

我是 Play 框架的新手。我将 Play 与 mysql 连接。但是我通过创建的表单提交的数据没有添加到数据库表中。我遇到异常

[PersistenceException: java.sql.SQLException: Connection is closed!]

我使用的代码是

public static Result addBar(){
    Bar bar= Form.form(Bar.class).bindFromRequest().get();
    bar.save();
    return redirect(routes.Application.index());
}

【问题讨论】:

  • 你是如何连接 MySQL 的?
  • 我在项目的根目录中创建了一个 lib/ 目录,然后将 jar 文件添加到该目录。我只使用 Java
  • 我在项目的根目录下创建了一个 lib/ 目录,然后将 jar 文件添加到该目录。我使用的是 Java
  • 请发布您的 bar.save() 代码

标签: java mysql playframework-2.2


【解决方案1】:

在游戏中您不需要手动添加数据库驱动程序。只需将 MySQL 依赖项添加到您的“build.sbt”文件中,如下面的文档链接中所述。例如:libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.18"

http://www.playframework.com/documentation/2.2.x/JavaDatabase http://www.playframework.com/documentation/2.2.x/SBTDependencies

添加依赖后,您必须在“conf/application.conf”文件中添加连接信息。因此,您需要取消注释以下行并添加您的具体信息。

db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://host/db?characterEncoding=UTF-8"
db.default.user=yourdb
db.default.password="supersecretpw"

如果您想使用 ORM,您可以从“ebean”开始,将 libraryDependencies += javaEbean 添加到依赖项中,并在“conf/application.conf”文件中取消注释以下行:

ebean.default="models.*"

这告诉 play 你的模型类存储在包“models”中。

要使用 ebeans 方法,您的类必须使用 @Entity 进行注释,并且需要扩展 play.db.ebean.Model。 playframework.com 上有关此主题的文档非常详细。

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 2023-01-04
    相关资源
    最近更新 更多