Packages

c

little.sql.Implicits

ConnectionType

implicit final class ConnectionType extends AnyVal

Provides extension methods to java.sql.Connection.

import little.sql._
import Implicits._

val connector = Connector("jdbc:h2:~/test", "sa", "s3cr3t", "org.h2.Driver")

connector.withConnection { conn ⇒
  val statements = Seq(
    "drop table prog_lang if exists",
    "create table prog_lang (id int, name text)",
    "insert into prog_lang (id, name) values (1, 'basic'), (2, 'pascal'), (3, 'c')",
    "select * from prog_lang"
  )

  statements.foreach { sql ⇒
    // Execute SQL and handle execution result accordingly
    conn.execute(sql) {
      // If update is executed print update count
      case Update(count) ⇒ println(s"Update Count: $count")
      // If query is executed print values of each row in ResultSet
      case Query(resultSet) ⇒
        while (resultSet.next())
          printf("id: %d, name: %s%n", resultSet.getInt("id"), resultSet.getString("name"))
    }
  }
}
Linear Supertypes
AnyVal, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ConnectionType
  2. AnyVal
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ConnectionType(connection: Connection)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    Any
  2. final def ##(): Int
    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def batch(sql: String)(generator: () ⇒ GenTraversableOnce[Seq[InParam]]): Array[Int]

    Executes batch of statements with generated parameter values and returns results.

    Executes batch of statements with generated parameter values and returns results.

    The generator must return sets of parameter values that satisfy the supplied SQL.

    sql

    SQL from which prepared statement is created

    generator

    parameter value generator

  6. def batch(generator: () ⇒ GenTraversableOnce[String]): Array[Int]

    Executes batch of generated statements and returns results.

    Executes batch of generated statements and returns results.

    generator

    SQL generator

  7. val connection: Connection
  8. def execute[T](sql: String, params: Seq[InParam] = Nil, queryTimeout: Int = 0, maxRows: Int = 0, fetchSize: Int = 0)(f: (Execution) ⇒ T): T

    Executes SQL and passes Execution to supplied function.

    Executes SQL and passes Execution to supplied function.

    sql

    SQL

    params

    parameters

    queryTimeout

    maximum number of seconds to wait for execution

    maxRows

    maximum number of rows to return in result set

    fetchSize

    number of result set rows to fetch on each retrieval from database

    f

    function

  9. def first[T](sql: String, params: Seq[InParam] = Nil, queryTimeout: Int = 0)(f: (ResultSet) ⇒ T): Option[T]

    Executes query and maps first row of ResultSet using supplied function.

    Executes query and maps first row of ResultSet using supplied function.

    If the result set is not empty, and if the supplied function's return value is not null, then Some value is returned; otherwise, None is returned.

    sql

    SQL query

    params

    parameters

    queryTimeout

    maximum number of seconds to wait for execution

    f

    function

    returns

    value from supplied function

  10. def flatMap[T](sql: String, params: Seq[InParam] = Nil, queryTimeout: Int = 0, maxRows: Int = 0, fetchSize: Int = 0)(f: (ResultSet) ⇒ GenTraversableOnce[T]): Seq[T]

    Executes query and builds a collection using the elements mapped from each row of ResultSet.

    Executes query and builds a collection using the elements mapped from each row of ResultSet.

    sql

    SQL query

    params

    parameters

    queryTimeout

    maximum number of seconds to wait for execution

    maxRows

    maximum number of rows to return in result set

    fetchSize

    number of result set rows to fetch on each retrieval from database

    f

    map function

  11. def foreach(sql: String, params: Seq[InParam] = Nil, queryTimeout: Int = 0, maxRows: Int = 0, fetchSize: Int = 0)(f: (ResultSet) ⇒ Unit): Unit

    Executes query and invokes supplied function for each row of ResultSet.

    Executes query and invokes supplied function for each row of ResultSet.

    sql

    SQL query

    params

    parameters

    queryTimeout

    maximum number of seconds to wait for execution

    maxRows

    maximum number of rows to return in result set

    fetchSize

    number of result set rows to fetch on each retrieval from database

    f

    function

  12. def getClass(): Class[_ <: AnyVal]
    Definition Classes
    AnyVal → Any
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. def map[T](sql: String, params: Seq[InParam] = Nil, queryTimeout: Int = 0, maxRows: Int = 0, fetchSize: Int = 0)(f: (ResultSet) ⇒ T): Seq[T]

    Executes query and maps each row of ResultSet using supplied function.

    Executes query and maps each row of ResultSet using supplied function.

    sql

    SQL query

    params

    parameters

    queryTimeout

    maximum number of seconds to wait for execution

    maxRows

    maximum number of rows to return in result set

    fetchSize

    number of result set rows to fetch on each retrieval from database

    f

    map function

  15. def query[T](sql: String, params: Seq[InParam] = Nil, queryTimeout: Int = 0, maxRows: Int = 0, fetchSize: Int = 0)(f: (ResultSet) ⇒ T): T

    Executes query and passes ResultSet to supplied function.

    Executes query and passes ResultSet to supplied function.

    sql

    SQL query

    params

    parameters

    queryTimeout

    maximum number of seconds to wait for execution

    maxRows

    maximum number of rows to return in result set

    fetchSize

    number of result set rows to fetch on each retrieval from database

    f

    function

  16. def toString(): String
    Definition Classes
    Any
  17. def update(sql: String, params: Seq[InParam] = Nil, queryTimeout: Int = 0): Long

    Executes update and returns update count.

    Executes update and returns update count.

    sql

    SQL update

    params

    parameters

    queryTimeout

    maximum number of seconds to wait for execution

  18. def withPreparedStatement[T](sql: String)(f: (PreparedStatement) ⇒ T): T

    Creates PreparedStatement and passes it to supplied function.

    Creates PreparedStatement and passes it to supplied function. Statement is closed on function's return.

    sql

    SQL statement

    f

    function

    returns

    value from supplied function

  19. def withStatement[T](f: (Statement) ⇒ T): T

    Creates Statement and passes it to supplied function.

    Creates Statement and passes it to supplied function. Statement is closed on function's return.

    f

    function

    returns

    value from supplied function

Inherited from AnyVal

Inherited from Any

Ungrouped