如何在scala中使用play framework将数据存储到Mysql数据库中?

如何在scala中使用play framework将数据存储到Mysql数据库中?,mysql,scala,playframework,playframework-2.0,playframework-2.1,Mysql,Scala,Playframework,Playframework 2.0,Playframework 2.1,我正在使用play框架与scala和 我在做什么: 登录页面以登录到web应用程序 注册网页以注册到web应用 登录后,我想将所有数据库值存储给用户 我想做什么: 当用户注册web应用程序时,我想用当前时间和日期将用户值存储到数据库中,但我的表单给出了错误信息 错误: List(FormError(dates,error.required,List())),None) 控制器/应用程序.scala object Application extends Controller { val t

我正在使用play框架与scala和

我在做什么

  • 登录页面以登录到web应用程序
  • 注册网页以注册到web应用
  • 登录后,我想将所有数据库值存储给用户
  • 我想做什么

    当用户注册web应用程序时,我想用当前时间和日期将用户值存储到数据库中,但我的表单给出了错误信息

    错误:

    List(FormError(dates,error.required,List())),None)
    
    控制器/应用程序.scala

    object Application extends Controller {
    
      val ta:Form[Keyword] = Form(
              mapping(
        "id" -> ignored(NotAssigned:Pk[Long]),
        "word" -> nonEmptyText,
        "blog" -> nonEmptyText,
        "cat" -> nonEmptyText,
        "score"-> of[Long],
        "summaryId"-> nonEmptyText,
        "dates" -> date("yyyy-MM-dd HH:mm:ss")
      )(Keyword.apply)(Keyword.unapply)
      )
    
      def index = Action {
        Ok(html.index(ta));
      }
    
    def newTask=  Action { implicit request =>
      ta.bindFromRequest.fold(
        errors => {println(errors) 
          BadRequest(html.index(errors))},
        keywo => {
    
          Keyword.create(keywo)
          Ok(views.html.data(Keyword.all()))
        }
      )
    }
    
    型号/关键字.scala

    object Application extends Controller {
    
      val ta:Form[Keyword] = Form(
              mapping(
        "id" -> ignored(NotAssigned:Pk[Long]),
        "word" -> nonEmptyText,
        "blog" -> nonEmptyText,
        "cat" -> nonEmptyText,
        "score"-> of[Long],
        "summaryId"-> nonEmptyText,
        "dates" -> date("yyyy-MM-dd HH:mm:ss")
      )(Keyword.apply)(Keyword.unapply)
      )
    
      def index = Action {
        Ok(html.index(ta));
      }
    
    def newTask=  Action { implicit request =>
      ta.bindFromRequest.fold(
        errors => {println(errors) 
          BadRequest(html.index(errors))},
        keywo => {
    
          Keyword.create(keywo)
          Ok(views.html.data(Keyword.all()))
        }
      )
    }
    
    案例类关键字(id:Pk[Long],word:String,blog:String,cat:String,score:Long,summaryId:String,dates:Date)

    视图/index.scala.html

    @(taskForm: Form[Keyword])
    
    @import helper._
    
    @main("Todo list") {
    
    
    
        @form(routes.Application.newTask) {
    
    
        @inputText(taskForm("word"))
            @inputText(taskForm("blog"))
            @inputText(taskForm("cat"))
            @inputText(taskForm("score"))
            @inputText(taskForm("summaryId")) 
    
            <input type="submit">
    
            <a href="">Go Back</a>
        }
    
    
    }
    
    @(任务表单:表单[关键字])
    @导入助手_
    @主要(“待办事项清单”){
    @表格(routes.Application.newTask){
    @输入文本(任务表单(“word”))
    @inputText(任务表单(“博客”))
    @输入文本(任务表单(“cat”))
    @输入文本(任务表(“分数”))
    @inputText(任务表单(“摘要ID”))
    }
    }
    

    请告诉我一些将日期存储到mysql数据库的想法,日期不是表单字段

    有两种可能的解决方案: 1.带日期的隐藏文本字段(保存时覆盖)
    2.表单和数据库表有一个单独的类。

    您可以通过将
    “dates”->date(“yyyy-MM-dd HH:MM:ss”)
    替换为
    “dates”->已忽略(new date())
    来为表单中的
    日期字段设置默认值。这将忽略“日期”的任何已发布数据,并自动将其绑定到
    新日期()
    (或您提供的任何值)