SORM中的資料關係
阿新 • • 發佈:2019-02-01
package scala_mysql_DataRelation case class Department(name: String) case class Person(name: String) case class PersonDepartment(person: Person, department: Department, isMainDepartment: Boolean) import sorm._ object Db extends Instance( entities = Set( Entity[Department](), Entity[Person](), Entity[PersonDepartment]() ), url = "jdbc:mysql://localhost/testscala", user = "root", password = "", initMode = InitMode.DropAllCreate ) /** * Created by aminic on 2014-11-18. */ object Main { def main(args: Array[String]) { println("OK") val p1 = Person("lucy") Db.save(p1) println("lucy is saved") val p2 = Person("maven") Db.save(p2) println("maven is saved") val d = Department("Basic Process Unit") Db.save(d) println("Basic Process Unit is saved") val resultLucy = Db.query[Person].whereEqual("name", "lucy").fetchOne().get val resultDepartment = Db.query[Department].whereEqual("name", "Basic Process Unit").fetchOne().get val relation1 = PersonDepartment(resultLucy, resultDepartment, true) Db.save(relation1) println("lucy and Basic Process Unit relation is saved") val resultMaven = Db.query[Person].whereEqual("name", "maven").fetchOne().get val relation2 = PersonDepartment(resultMaven, resultDepartment, true) Db.save(relation2) println("maven and Basic Process Unit relation is saved") val persons = Db.query[PersonDepartment] .whereEqual("department.name", "Basic Process Unit") .fetch() .map(_.person) println("Get Basic Process Unit PersonList:") for (p <- persons) println(p.name) println("END") } }