trait DBConnection extends LogSupport with LoanPattern with AutoCloseable
Basic Database Accessor which holds a JDBC connection.
- Source
- DBConnection.scala
- Alphabetic
- By Inheritance
- DBConnection
- AutoCloseable
- LoanPattern
- LogSupport
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type Closable = AnyRef { def close(): Unit }
- Definition Classes
- LoanPattern
Abstract Value Members
- abstract def conn: Connection
Returns current JDBC connection.
- abstract val settingsProvider: SettingsProvider
- Attributes
- protected[this]
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def autoClose(autoClose: Boolean): DBConnection
Switches auto close mode.
Switches auto close mode.
- autoClose
auto close enabled if true
- def autoCommit[A](execution: (DBSession) => A): A
Provides auto-commit session block.
Provides auto-commit session block.
- A
return type
- execution
block
- returns
result value
- def autoCommitSession(settings: SettingsProvider = SettingsProvider.default): DBSession
Returns auto-commit session.
Returns auto-commit session.
- returns
session
- def autoCommitWithConnection[A](execution: (Connection) => A): A
Provides auto-commit session block.
Provides auto-commit session block.
- A
return type
- execution
block
- returns
result value
- def begin(): Unit
Begins a new transaction.
- def beginIfNotYet(): Unit
Begins a new transaction if the other one does not already start.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def close(): Unit
Close the connection.
Close the connection.
- Definition Classes
- DBConnection → AutoCloseable
- def commit(): Unit
Commits the current transaction.
- def connectionAttributes: DBConnectionAttributes
returns the additional attributes of current JDBC connection.
- def currentTx: Tx
Returns the current transaction.
Returns the current transaction. If the transaction has not started yet, IllegalStateException will be thrown.
- returns
tx
- def describe(table: String): String
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
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def futureLocalTx[A](execution: (DBSession) => Future[A])(implicit ec: ExecutionContext): Future[A]
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
- def futureUsing[R <: Closable, A](resource: R)(f: (R) => Future[A])(implicit ec: ExecutionContext): Future[A]
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
- def getAllColumns(meta: DatabaseMetaData, schema: String, table: String): ResultSet
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
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getColumnNames(tableName: String, tableTypes: Array[String] = DBConnection.tableTypes): List[String]
Returns all the column names on the matched table name
- def getTable(table: String, tableTypes: Array[String] = DBConnection.tableTypes): Option[Table]
Returns table information if exists
Returns table information if exists
- table
table name (with schema optionally)
- returns
table information
- def getTableNames(tableNamePattern: String = "%", tableTypes: Array[String] = DBConnection.tableTypes): List[String]
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
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isTxAlreadyStarted: Boolean
Returns is the current transaction already started.
Returns is the current transaction already started.
- returns
result
- def isTxNotActive: Boolean
Returns is the current transaction is active.
Returns is the current transaction is active.
- returns
result
- def isTxNotYetStarted: Boolean
Returns is the current transaction hasn't started yet.
Returns is the current transaction hasn't started yet.
- returns
result
- def isolationLevel(isolationLevel: IsolationLevel): DBConnection
Set isolation level.
- def localTx[A](execution: (DBSession) => A)(implicit boundary: TxBoundary[A] = defaultTxBoundary[A]): A
Provides local-tx session block.
Provides local-tx session block.
- A
return type
- execution
block
- returns
result value
- def localTxWithConnection[A](execution: (Connection) => A)(implicit boundary: TxBoundary[A] = defaultTxBoundary[A]): A
Provides local-tx session block.
Provides local-tx session block.
- A
return type
- execution
block
- returns
result value
- val log: Log
Logger
Logger
- Attributes
- protected
- Definition Classes
- LogSupport
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newTx: Tx
Starts a new transaction and returns it.
Starts a new transaction and returns it.
- returns
tx
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def readOnly[A](execution: (DBSession) => A): A
Provides read-only session block.
Provides read-only session block.
- A
return type
- execution
block
- returns
result value
- def readOnlySession(settings: SettingsProvider = SettingsProvider.default): DBSession
Returns read-only session.
Returns read-only session.
- returns
session
- def readOnlyWithConnection[A](execution: (Connection) => A): A
Provides read-only session block.
Provides read-only session block.
- A
return type
- execution
block
- returns
result value
- def rollback(): Unit
Rolls back the current transaction.
- def rollbackIfActive(): Unit
Rolls back the current transaction if the transaction is still active.
- def showTables(tableNamePattern: String = "%", tableTypes: Array[String] = DBConnection.tableTypes): String
Returns table name list
Returns table name list
- tableNamePattern
table name pattern
- tableTypes
table types
- returns
table name list
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def tx: Tx
Returns the current transaction.
Returns the current transaction. If the transaction has not started yet, IllegalStateException will be thrown.
- returns
tx
- def using[R <: Closable, A](resource: R)(f: (R) => A): A
- Definition Classes
- LoanPattern
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withinTx[A](execution: (DBSession) => A): A
Provides within-tx session block.
Provides within-tx session block.
- A
return type
- execution
block
- returns
result value
- def withinTxSession(tx: Tx = currentTx, settings: SettingsProvider = SettingsProvider.default): DBSession
Returns within-tx session.
Returns within-tx session.
- returns
session
- def withinTxWithConnection[A](execution: (Connection) => A): A
Provides within-tx session block.
Provides within-tx session block.
- A
return type
- execution
block
- returns
result value