如何使用播放框架中的表单将数据插入H2数据库。即时通讯和h2数据库。我可以使用表格发送数据并在下一个网页上显示,但我不知道如何将其放入数据库,似乎无法在互联网上找到任何好的信息。
我已经使用以下方式建立了连接:
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play;MODE=MYSQL;DB_CLOSE_DELAY=-1"
db.default.username=sa
db.default.password=""
这是我用来将数据发送到下一个网页的代码 Application.conf:
val form = Form(
tuple(
"firstname" -> nonEmptyText(1),
"midname" -> optional(text),
"lastname" -> nonEmptyText(1),
"number" -> text,
"email" -> email
)
)
def submit = Action { implicit request =>
val (firstname, midname, lastname, number, email) = form.bindFromRequest.get
Ok(("Hi %s %s %s\nTelefoonnummer: %s\nEmail: %s").format(firstname, midname, lastname, number, email))
}
形式和路线(这里没什么特别的):
<form method="POST" autocomplete="off" action="@routes.Application.formSubmit()">
GET /formSubmit controllers.Application.formLogin()
POST /formSubmit controllers.Application.submit()
我希望这是足以帮助我的信息
答案 0 :(得分:1)
首先,您需要创建一个架构来使用它。
然后在application.conf
中启用播放数据库演变以创建表等。您也可以手动执行。
配置并创建db后;您可以在Anorm
,Slick
或Jdbc api
之间进行数据库操作选择。
我更喜欢Anorm
以下是插入数据的示例代码;
DB.withConnection { implicit c =>
val id: Option[Long] =
SQL("INSERT INTO City(name, country) values ({name}, {country})")
.on('name -> "Cambridge", 'country -> "New Zealand").executeInsert()
}