import play.api.db._play.api.dbパッケージは、データベース関連のクラスを提供するものです。またanormは、文字通りanorm関連のクラスがまとめてあります。この他、コード内で必要となるものとしてplay.api.Play.currentとanorm.SqlParserをimportしてあります。これらは、まぁ必須のimportと考えていいでしょう。
import anorm._
import play.api.Play.current
import anorm.SqlParser._
case class クラス名(……引数……){
……メソッドの定義……
}
object クラス名 {
……メソッドの定義……
}case classでは、「addData」メソッドが定義されていますね。そしてobjectには、dataという変数と、「getAll」メソッドが定義されています。これらは何が違うのでしょう? なぜ、どっちか1つにまとめないのでしょうね?※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※models/mydata.scalaのソースコード
package models
import play.api.db._
import anorm._
import play.api.Play.current
import anorm.SqlParser._
case class Mydata(
name: String,
mail: String,
tel: String) {
def addData {
DB.withConnection { implicit c =>
val id: Int = SQL("insert into mydatas (name, mail, tel) values ({name}, {mail}, {tel})").
on('name->this.name, 'mail -> this.mail, 'tel -> this.tel).executeUpdate()
}
}
}
object Mydata {
val data = {
get[String]("name") ~
get[String]("mail") ~
get[String]("tel") map {
case name ~ mail ~ tel => Mydata(name, mail, tel)
}
}
def getAll: List[Mydata] = {
DB.withConnection { implicit c =>
val datas = SQL("Select * from mydatas").as(Mydata.data *)
return datas
}
}
}
| << 前へ | 次へ >> |