我開發簡單的Web應用程序與遊戲框架,Scala和存放在MySQL DATABSE和我收到錯誤如何解決的RuntimeException:TypeDoesNotMatch(不能轉換成1:類java.lang.String龍列
我在做什麼:
- 當用戶輸入值和存儲我正在重定向用戶到該節目的數據庫中存在
- VALU所有條目頁面後ES越來越存儲,但它給例外的時候重定向到頁面
models/Keyword.scala
case class Keyword(blog: String,cat: String,word: String,count: Long, summaryId: String)
object Keyword {
val keyw = {
get[String]("keyword.blog")~
get[String]("keyword.cat")~
get[String]("keyword.word")~
get[Long]("keyword.count") ~
get[String]("keyword.summaryId") map {
case blog~cat~word~count~summaryId => Keyword(blog,cat,word,count, summaryId)
}
}
def all(): List[Keyword] = DB.withConnection { implicit c =>
SQL("select * from keyword").as(Keyword.keyw *)
}
def create(key: Keyword){DB.withConnection{implicit c=>
SQL("insert into keyword values({blog}, {cat}, {word},{count},{summaryId})").on('blog->key.blog,
'cat -> key.cat,
'word-> key.word,
'count-> key.count,
'summaryId -> key.summaryId).executeUpdate()
}
}
controllers/Application.scala
object Application extends Controller {
val ta:Form[Keyword] = Form(
mapping(
"blog" -> nonEmptyText,
"cat" -> nonEmptyText,
"word" -> nonEmptyText,
"count"-> of[Long],
"summaryId"-> nonEmptyText
)(Keyword.apply)(Keyword.unapply)
)
def index = Action {
Ok(html.index(ta));
}
def newTask= Action { implicit request =>
ta.bindFromRequest.fold(
errors => BadRequest(html.index(errors)),
keywo => {
Keyword.create(keywo)
Ok(views.html.data(Keyword.all()))
}
)
}
的 - 當我使用H2-數據庫它正在運行的時間
- 當我使用MySQL那個時候它給例外
給我一些想法來解決這個問題!
難道說count是MySQL數據庫模式中的字符串列嗎? – johanandren
是的,這是真的,它是'Mysql'數據庫中的字符串,但是'h2'中它是'BIGINT',爲什麼? –
因爲你已經創建了這種模式?你是用演變還是手工來管理它? – johanandren