Class/Object

scalikejdbc

DB

Related Docs: object DB | package scalikejdbc

Permalink

case class DB(conn: Connection, connectionAttributes: DBConnectionAttributes = DBConnectionAttributes(), settingsProvider: SettingsProvider = SettingsProvider.default) extends DBConnection with Product with Serializable

Basic Database Accessor

Using DBSession:

import scalikejdbc._
case class User(id: Int, name: String)

using(ConnectionPool(name).borrow()) { conn =>

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

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

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

}

Using SQL:

import scalikejdbc._
case class User(id: Int, name: String)

using(ConnectionPool.borrow()) { conn =>

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

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

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

}
Source
DB.scala
Linear Supertypes
Serializable, Serializable, Product, Equals, DBConnection, LoanPattern, LogSupport, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DB
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. DBConnection
  7. LoanPattern
  8. LogSupport
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DB(conn: Connection, connectionAttributes: DBConnectionAttributes = DBConnectionAttributes(), settingsProvider: SettingsProvider = SettingsProvider.default)

    Permalink

Type Members

  1. type Closable = AnyRef { def close(): Unit }

    Permalink
    Definition Classes
    LoanPattern
  2. type RSTraversable = ResultSetTraversable

    Permalink
    Definition Classes
    DBConnection

Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def autoClose(autoClose: Boolean): DBConnection

    Permalink

    Switches auto close mode.

    Switches auto close mode.

    autoClose

    auto close enabled if true

    Definition Classes
    DBConnection
  6. def autoCommit[A](execution: (DBSession) ⇒ A): A

    Permalink

    Provides auto-commit session block.

    Provides auto-commit session block.

    A

    return type

    execution

    block

    returns

    result value

    Definition Classes
    DBConnection
  7. def autoCommitSession(settings: SettingsProvider = SettingsProvider.default): DBSession

    Permalink

    Returns auto-commit session.

    Returns auto-commit session.

    returns

    session

    Definition Classes
    DBConnection
  8. def autoCommitWithConnection[A](execution: (Connection) ⇒ A): A

    Permalink

    Provides auto-commit session block.

    Provides auto-commit session block.

    A

    return type

    execution

    block

    returns

    result value

    Definition Classes
    DBConnection
  9. def begin(): Unit

    Permalink

    Begins a new transaction.

    Begins a new transaction.

    Definition Classes
    DBConnection
  10. def beginIfNotYet(): Unit

    Permalink

    Begins a new transaction if the other one does not already start.

    Begins a new transaction if the other one does not already start.

    Definition Classes
    DBConnection
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def close(): Unit

    Permalink

    Close the connection.

    Close the connection.

    Definition Classes
    DBConnection
  13. def commit(): Unit

    Permalink

    Commits the current transaction.

    Commits the current transaction.

    Definition Classes
    DBConnection
  14. val conn: Connection

    Permalink

    Returns current JDBC connection.

    Returns current JDBC connection.

    Definition Classes
    DBDBConnection
  15. val connectionAttributes: DBConnectionAttributes

    Permalink

    returns the additional attributes of current JDBC connection.

    returns the additional attributes of current JDBC connection.

    Definition Classes
    DBDBConnection
  16. def currentTx: Tx

    Permalink

    Returns the current transaction.

    Returns the current transaction. If the transaction has not started yet, IllegalStateException will be thrown.

    returns

    tx

    Definition Classes
    DBConnection
  17. def describe(table: String): String

    Permalink

    Returns describe style string value for the table

    Returns describe style string value for the table

    table

    table name (with schema optionally)

    returns

    described information

    Definition Classes
    DBConnection
  18. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. def futureLocalTx[A](execution: (DBSession) ⇒ Future[A])(implicit ec: ExecutionContext): Future[A]

    Permalink

    Easy way to checkout the current connection to be used in a transaction that needs to be committed/rolled back depending on Future results.

    Easy way to checkout the current connection to be used in a transaction that needs to be committed/rolled back depending on Future results.

    A

    future result type

    execution

    block that takes a session and returns a future

    returns

    future result

    Definition Classes
    DBConnection
  21. def futureUsing[R <: Closable, A](resource: R)(f: (R) ⇒ Future[A])(implicit ec: ExecutionContext): Future[A]

    Permalink

    Guarantees a Closeable resource will be closed after being passed to a block that takes the resource as a parameter and returns a Future.

    Guarantees a Closeable resource will be closed after being passed to a block that takes the resource as a parameter and returns a Future.

    Definition Classes
    LoanPattern
  22. def getAllColumns(meta: DatabaseMetaData, schema: String, table: String): ResultSet

    Permalink

    Returns columns resultset in schema.tableNames

    Returns columns resultset in schema.tableNames

    meta

    database meta data

    schema

    schema name

    table

    table name

    returns

    resultset related to columns

    Definition Classes
    DBConnection
  23. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  24. def getColumnNames(tableName: String, tableTypes: Array[String] = Array("TABLE", "VIEW")): List[String]

    Permalink

    Returns all the column names on the matched table name

    Returns all the column names on the matched table name

    Definition Classes
    DBConnection
  25. def getTable(table: String, tableTypes: Array[String] = Array("TABLE", "VIEW")): Option[Table]

    Permalink

    Returns table information if exists

    Returns table information if exists

    table

    table name (with schema optionally)

    returns

    table information

    Definition Classes
    DBConnection
  26. def getTableNames(tableNamePattern: String = "%", tableTypes: Array[String] = Array("TABLE", "VIEW")): List[String]

    Permalink

    Returns all the table information that match the pattern

    Returns all the table information that match the pattern

    tableNamePattern

    table name pattern (with schema optionally)

    returns

    table information

    Definition Classes
    DBConnection
  27. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  28. def isTxAlreadyStarted: Boolean

    Permalink

    Returns is the current transaction already started.

    Returns is the current transaction already started.

    returns

    result

    Definition Classes
    DBConnection
  29. def isTxNotActive: Boolean

    Permalink

    Returns is the current transaction is active.

    Returns is the current transaction is active.

    returns

    result

    Definition Classes
    DBConnection
  30. def isTxNotYetStarted: Boolean

    Permalink

    Returns is the current transaction hasn't started yet.

    Returns is the current transaction hasn't started yet.

    returns

    result

    Definition Classes
    DBConnection
  31. def localTx[A](execution: (DBSession) ⇒ A)(implicit boundary: TxBoundary[A] = defaultTxBoundary[A]): A

    Permalink

    Provides local-tx session block.

    Provides local-tx session block.

    A

    return type

    execution

    block

    returns

    result value

    Definition Classes
    DBConnection
  32. def localTxWithConnection[A](execution: (Connection) ⇒ A)(implicit boundary: TxBoundary[A] = defaultTxBoundary[A]): A

    Permalink

    Provides local-tx session block.

    Provides local-tx session block.

    A

    return type

    execution

    block

    returns

    result value

    Definition Classes
    DBConnection
  33. val log: Log

    Permalink

    Logger

    Logger

    Attributes
    protected
    Definition Classes
    LogSupport
  34. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  35. def newTx: Tx

    Permalink

    Starts a new transaction and returns it.

    Starts a new transaction and returns it.

    returns

    tx

    Definition Classes
    DBConnection
  36. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  37. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  38. def readOnly[A](execution: (DBSession) ⇒ A): A

    Permalink

    Provides read-only session block.

    Provides read-only session block.

    A

    return type

    execution

    block

    returns

    result value

    Definition Classes
    DBConnection
  39. def readOnlySession(settings: SettingsProvider = SettingsProvider.default): DBSession

    Permalink

    Returns read-only session.

    Returns read-only session.

    returns

    session

    Definition Classes
    DBConnection
  40. def readOnlyWithConnection[A](execution: (Connection) ⇒ A): A

    Permalink

    Provides read-only session block.

    Provides read-only session block.

    A

    return type

    execution

    block

    returns

    result value

    Definition Classes
    DBConnection
  41. def rollback(): Unit

    Permalink

    Rolls back the current transaction.

    Rolls back the current transaction.

    Definition Classes
    DBConnection
  42. def rollbackIfActive(): Unit

    Permalink

    Rolls back the current transaction if the transaction is still active.

    Rolls back the current transaction if the transaction is still active.

    Definition Classes
    DBConnection
  43. val settingsProvider: SettingsProvider

    Permalink
    Definition Classes
    DBDBConnection
  44. def showTables(tableNamePattern: String = "%", tableTypes: Array[String] = Array("TABLE", "VIEW")): String

    Permalink

    Returns table name list

    Returns table name list

    tableNamePattern

    table name pattern

    tableTypes

    table types

    returns

    table name list

    Definition Classes
    DBConnection
  45. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  46. def tx: Tx

    Permalink

    Returns the current transaction.

    Returns the current transaction. If the transaction has not started yet, IllegalStateException will be thrown.

    returns

    tx

    Definition Classes
    DBConnection
  47. def using[R <: Closable, A](resource: R)(f: (R) ⇒ A): A

    Permalink
    Definition Classes
    LoanPattern
  48. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. def withinTx[A](execution: (DBSession) ⇒ A): A

    Permalink

    Provides within-tx session block.

    Provides within-tx session block.

    A

    return type

    execution

    block

    returns

    result value

    Definition Classes
    DBConnection
  52. def withinTxSession(tx: Tx = currentTx, settings: SettingsProvider = SettingsProvider.default): DBSession

    Permalink

    Returns within-tx session.

    Returns within-tx session.

    returns

    session

    Definition Classes
    DBConnection
  53. def withinTxWithConnection[A](execution: (Connection) ⇒ A): A

    Permalink

    Provides within-tx session block.

    Provides within-tx session block.

    A

    return type

    execution

    block

    returns

    result value

    Definition Classes
    DBConnection

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from DBConnection

Inherited from LoanPattern

Inherited from LogSupport

Inherited from AnyRef

Inherited from Any

Ungrouped