scalikejdbc

DB

object DB extends Serializable

Basic Database Accessor

You can start with DB and blocks if using scalikejdbc.ConnectionPool.singleton().

Using DBSession:

ConnectionPool.singletion("jdbc:...","user","password")
case class User(id: Int, name: String)

val users = DB readOnly { session =>
  session.list("select * from user") { rs =>
    User(rs.int("id"), rs.string("name"))
  }
}

DB autoCommit { session =>
  session.update("insert into user values (?,?)", 123, "Alice")
}

DB localTx { session =>
  session.update("insert into user values (?,?)", 123, "Alice")
}

using(DB(ConnectionPool.borrow())) { db =>
  db.begin()
  try {
    DB withTx { session =>
      session.update("update user set name = ? where id = ?", "Alice", 123)
    }
    db.commit()
  } catch { case e =>
    db.rollbackIfActive()
    throw e
  }
}

Using SQL:

ConnectionPool.singletion("jdbc:...","user","password")
case class User(id: Int, name: String)

val users = DB readOnly { session =>
  SQL("select * from user").map { rs =>
    User(rs.int("id"), rs.string("name"))
  }.list.apply()
}

DB autoCommit { session =>
  SQL("insert into user values (?,?)").bind(123, "Alice").update.apply()
}

DB localTx { session =>
  SQL("insert into user values (?,?)").bind(123, "Alice").update.apply()
}

using(DB(ConnectionPool.borrow())) { db =>
  db.begin()
  try {
    DB withTx { session =>
      SQL("update user set name = ? where id = ?").bind("Alice", 123).update.apply()
    }
    db.commit()
  } catch { case e =>
    db.rollbackIfActive()
    throw e
  }
}
Linear Supertypes
Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. DB
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. type CPContext = ConnectionPoolContext

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. val NoCPContext: NoConnectionPoolContext.type

  7. def apply(conn: ⇒ Connection): DB

    Returns DB instance.

    Returns DB instance.

    conn

    connection

    returns

    DB instance

  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def autoCommit[A](execution: (DBSession) ⇒ A)(implicit context: CPContext = NoCPContext): A

    Begins a auto-commit block easily with ConnectionPool.

    Begins a auto-commit block easily with ConnectionPool.

    A

    return type

    execution

    execution

    context

    connection pool context

    returns

    result value

  10. def autoCommitSession()(implicit context: CPContext = NoCPContext): DBSession

    Returns auto-commit session instance.

    Returns auto-commit session instance. You SHOULD close this instance by yourself.

    context

    connection pool context

    returns

    session

  11. def autoCommitWithConnection[A](execution: (Connection) ⇒ A)(implicit context: CPContext = NoCPContext): A

    Begins a auto-commit block easily with ConnectionPool and pass not session but connection to execution block.

    Begins a auto-commit block easily with ConnectionPool and pass not session but connection to execution block.

    A

    return type

    execution

    execution

    context

    connection pool context

    returns

    result value

  12. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  13. def connect(conn: Connection = ConnectionPool.borrow()): DB

    Get a connection and returns a DB instance.

    Get a connection and returns a DB instance.

    conn

    connection

    returns

    DB instance

  14. def connected(implicit conn: Connection): DB

    Returns a DB instance by using an implicit Connection object.

    Returns a DB instance by using an implicit Connection object.

    conn

    connection

    returns

    DB instance

  15. def describe(table: String)(implicit context: CPContext = NoCPContext): String

    Returns describe style string value for the table

    Returns describe style string value for the table

    table

    table name (with schema optionally)

    context

    connection pool context as implicit parameter

    returns

    described information

  16. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  17. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  18. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  19. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  20. def getTable(table: String)(implicit context: CPContext = NoCPContext): Option[Table]

    Returns table information

    Returns table information

    table

    table name (with schema optionally)

    context

    connection pool context as implicit parameter

    returns

    table information

  21. def getTableNames(tableNamePattern: String)(implicit context: CPContext = NoCPContext): List[String]

    Returns multiple table information

    Returns multiple table information

    tableNamePattern

    table name pattern (with schema optionally)

    context

    connection pool context as implicit parameter

    returns

    table information

  22. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  23. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  24. def localTx[A](execution: (DBSession) ⇒ A)(implicit context: CPContext = NoCPContext): A

    Begins a local-tx block easily with ConnectionPool.

    Begins a local-tx block easily with ConnectionPool.

    A

    return type

    execution

    execution

    context

    connection pool context

    returns

    result value

  25. def localTxWithConnection[A](execution: (Connection) ⇒ A)(implicit context: CPContext = NoCPContext): A

    Begins a local-tx block easily with ConnectionPool and pass not session but connection to execution block.

    Begins a local-tx block easily with ConnectionPool and pass not session but connection to execution block.

    A

    return type

    execution

    execution

    context

    connection pool context

    returns

    result value

  26. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  27. final def notify(): Unit

    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  29. def readOnly[A](execution: (DBSession) ⇒ A)(implicit context: CPContext = NoCPContext): A

    Begins a read-only block easily with ConnectionPool.

    Begins a read-only block easily with ConnectionPool.

    A

    return type

    execution

    execution

    context

    connection pool context

    returns

    result value

  30. def readOnlySession()(implicit context: CPContext = NoCPContext): DBSession

    Returns read-only session instance.

    Returns read-only session instance. You SHOULD close this instance by yourself.

    context

    connection pool context

    returns

    session

  31. def readOnlyWithConnection[A](execution: (Connection) ⇒ A)(implicit context: CPContext = NoCPContext): A

    Begins a read-only block easily with ConnectionPool and pass not session but connection to execution block.

    Begins a read-only block easily with ConnectionPool and pass not session but connection to execution block.

    A

    return type

    execution

    execution

    context

    connection pool context

    returns

    result value

  32. def showTables(tableNamePattern: String = "%", tableTypes: Array[String] = Array("TABLE", "VIEW"))(implicit context: CPContext = NoCPContext): String

    Returns table name list

    Returns table name list

    tableNamePattern

    table name pattern (with schema optionally)

    context

    connection pool context as implicit parameter

    returns

    table name list

  33. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  34. def toString(): String

    Definition Classes
    AnyRef → Any
  35. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  36. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  37. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  38. def withinTx[A](execution: (DBSession) ⇒ A)(implicit db: DB): A

    Begins a within-tx block easily with a DB instance as an implicit parameter.

    Begins a within-tx block easily with a DB instance as an implicit parameter.

    A

    return type

    execution

    execution

    db

    DB instance as an implicit parameter

    returns

    result value

  39. def withinTxSession()(implicit db: DB): DBSession

    Returns within-tx session instance.

    Returns within-tx session instance. You SHOULD close this instance by yourself.

    db

    DB instance as an implicit parameter

    returns

    session

  40. def withinTxWithConnection[A](execution: (Connection) ⇒ A)(implicit db: DB): A

    Begins a within-tx block easily with a DB instance as an implicit parameter and pass not session but connection to execution block.

    Begins a within-tx block easily with a DB instance as an implicit parameter and pass not session but connection to execution block.

    A

    return type

    execution

    execution

    db

    DB instance as an implicit parameter

    returns

    result value

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped