DefaultDatabase

play.api.db.DefaultDatabase
abstract class DefaultDatabase(val name: String, configuration: Config, environment: Environment) extends Database

Default implementation of the database API. Provides driver registration and connection methods.

Attributes

Graph
Supertypes
trait Database
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

def closeDataSource(dataSource: DataSource): Unit
def createDataSource(): DataSource

Concrete methods

def getConnection(): Connection

Get a JDBC connection from the underlying data source. Autocommit is enabled by default.

Get a JDBC connection from the underlying data source. Autocommit is enabled by default.

Don't forget to release the connection at some point by calling close().

Attributes

Returns

a JDBC connection

def getConnection(autocommit: Boolean): Connection

Get a JDBC connection from the underlying data source.

Get a JDBC connection from the underlying data source.

Don't forget to release the connection at some point by calling close().

Value parameters

autocommit

determines whether to autocommit the connection

Attributes

Returns

a JDBC connection

def shutdown(): Unit

Shutdown this database, closing the underlying data source.

Shutdown this database, closing the underlying data source.

Attributes

def withConnection[A](block: Connection => A): A

Execute a block of code, providing a JDBC connection. The connection and all created statements are automatically released.

Execute a block of code, providing a JDBC connection. The connection and all created statements are automatically released.

Value parameters

block

code to execute

Attributes

Returns

the result of the code block

def withConnection[A](autocommit: Boolean)(block: Connection => A): A

Execute a block of code, providing a JDBC connection. The connection and all created statements are automatically released.

Execute a block of code, providing a JDBC connection. The connection and all created statements are automatically released.

Value parameters

autocommit

determines whether to autocommit the connection

block

code to execute

Attributes

Returns

the result of the code block

def withTransaction[A](block: Connection => A): A

Execute a block of code in the scope of a JDBC transaction. The connection and all created statements are automatically released. The transaction is automatically committed, unless an exception occurs.

Execute a block of code in the scope of a JDBC transaction. The connection and all created statements are automatically released. The transaction is automatically committed, unless an exception occurs.

Value parameters

block

code to execute

Attributes

Returns

the result of the code block

def withTransaction[A](isolationLevel: TransactionIsolationLevel)(block: Connection => A): A

Execute a block of code in the scope of a JDBC transaction. The connection and all created statements are automatically released. The transaction is automatically committed, unless an exception occurs.

Execute a block of code in the scope of a JDBC transaction. The connection and all created statements are automatically released. The transaction is automatically committed, unless an exception occurs.

Value parameters

block

code to execute

isolationLevel

determines transaction isolation level

Attributes

Returns

the result of the code block

Concrete fields

lazy val dataSource: DataSource

The underlying JDBC data source for this database.

The underlying JDBC data source for this database.

Attributes

lazy val driver: Option[Driver]
val name: String

The configuration name for this database.

The configuration name for this database.

Attributes

lazy val url: String

The JDBC connection URL this database, i.e. jdbc:... Normally retrieved via a connection.

The JDBC connection URL this database, i.e. jdbc:... Normally retrieved via a connection.

Attributes