Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hoge
- import scalikejdbc._
- case class User(id: Int, name: String, emailAddress: Option[String])
- object User extends SQLSyntaxSupport[User] {
- override val tableName = "users"
- // for example 1
- def apply(rs: WrappedResultSet): User = User(rs.int("id"), rs.string("name"), rs.stringOpt("email_address"))
- // for example 2 (case classに無いカラム名を使うとコンパイル時に分かる)
- def apply(u: ResultName[User])(rs: WrappedResultSet): User = User(rs.int(u.id), rs.string(u.name), rs.stringOpt(u.emailAddress))
- }
- object Main {
- def main (args: Array[String]) {
- // initialize JDBC driver & connection pool
- Class.forName("com.mysql.jdbc.Driver")
- ConnectionPool.singleton("jdbc:mysql://127.0.0.1/test?characterEncoding=UTF-8", "root", "")
- // ad-hoc session provider on the REPL
- implicit val session = AutoSession
- val alice = User(0, "alice", None)
- val bob = User(0, "bob", Some("bob@example.com"))
- sql"INSERT INTO users (name, email_address) values (${alice.name}, ${alice.emailAddress})".update.apply()
- sql"INSERT INTO users (name, email_address) values (${bob.name}, ${bob.emailAddress})".update.apply()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement