Advertisement
Guest User

Untitled

a guest
Feb 24th, 2016
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. package hoge
  2.  
  3. import scalikejdbc._
  4.  
  5. case class User(id: Int, name: String, emailAddress: Option[String])
  6.  
  7. object User extends SQLSyntaxSupport[User] {
  8. override val tableName = "users"
  9. // for example 1
  10. def apply(rs: WrappedResultSet): User = User(rs.int("id"), rs.string("name"), rs.stringOpt("email_address"))
  11. // for example 2 (case classに無いカラム名を使うとコンパイル時に分かる)
  12. def apply(u: ResultName[User])(rs: WrappedResultSet): User = User(rs.int(u.id), rs.string(u.name), rs.stringOpt(u.emailAddress))
  13. }
  14.  
  15. object Main {
  16. def main (args: Array[String]) {
  17. // initialize JDBC driver & connection pool
  18. Class.forName("com.mysql.jdbc.Driver")
  19. ConnectionPool.singleton("jdbc:mysql://127.0.0.1/test?characterEncoding=UTF-8", "root", "")
  20.  
  21. // ad-hoc session provider on the REPL
  22. implicit val session = AutoSession
  23.  
  24. val alice = User(0, "alice", None)
  25. val bob = User(0, "bob", Some("bob@example.com"))
  26. sql"INSERT INTO users (name, email_address) values (${alice.name}, ${alice.emailAddress})".update.apply()
  27. sql"INSERT INTO users (name, email_address) values (${bob.name}, ${bob.emailAddress})".update.apply()
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement