-
Notifications
You must be signed in to change notification settings - Fork 27
Using Models
y-yoshinoya edited this page Apr 15, 2012
·
25 revisions
com.github.aselab.activerecord.ActiveRecord
を継承したケースクラスと,
そのモデル型をパラメータに取る com.github.aselab.activerecord.ActiveRecordCompanion[T]
型の
コンパニオンオブジェクトを定義します.
package models
import com.github.aselab.activerecord._
case class User(name: String, age: Int) extends ActiveRecord
object User extends ActiveRecordCompanion[User]
上記の User
モデルを使用して, 基本的なCRUD操作を行う例を示します.
User("you", 15).save
User.findBy("name", "you").head // => User("you", 15)
User.findBy("name", "you").headOption // => Some(User("you", 15))
User.findBy("name", "me").headOption // => None
User.findBy("age", 15).toList // => List(User("you", 15))
User.findBy(("name", "you"), ("age", 15)).headOption // => Some(User("you", 15))
User.where(_.age gte 10).toList // => List(User("you", 15))
User.all.toList // => List(User("you", 15))
val user = User.findBy("name", "you").head
user.name = "new_user"
user.age = 21
user.save
// Delete single user
val user = User.all.head
user.delete
// Delete all users
User.deleteAll
pending
pending