Object

acolyte.jdbc

AcolyteDSL

Related Doc: package jdbc

Permalink

object AcolyteDSL

Acolyte DSL for JDBC.

import acolyte.jdbc.AcolyteDSL.{ connection, handleStatement }
import acolyte.jdbc.Implicits._
import acolyte.jdbc.{ QueryExecution, UpdateExecution }

connection {
  handleStatement.withQueryDetection("...").
    withQueryHandler({ e: QueryExecution => ??? }).
    withUpdateHandler({ e: UpdateExecution => ??? })
}
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AcolyteDSL
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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 clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def connection(h: ConnectionHandler, p: (String, String)*): Connection

    Permalink

    Creates a connection, managed with given handler.

    Creates a connection, managed with given handler.

    h

    connection handler

    p

    connection properties

    returns

    a new Acolyte connection

    import acolyte.jdbc.{ AcolyteDSL, ConnectionHandler }
    import AcolyteDSL.connection
    def foo(handler: ConnectionHandler) =
      connection(handler) // without connection properties
    // With connection property to fallback untyped null
    def bar(handler: ConnectionHandler) =
      connection(handler, "acolyte.parameter.untypedNull" -> "true")
  7. def connection(sh: AbstractCompositeHandler[_], rh: ResourceHandler, p: (String, String)*): Connection

    Permalink

    Creates a connection, whose statement will be passed to given handler.

    Creates a connection, whose statement will be passed to given handler.

    sh

    the statement handler

    rh

    the resource handler

    p

    the connection properties

    returns

    a new Acolyte connection

    import acolyte.jdbc.{ AcolyteDSL, ConnectionHandler }
    import AcolyteDSL.connection
    def foo(handler: ConnectionHandler) =
      connection(handler) // without connection properties
    // With connection property to fallback untyped null
    def bar(handler: ConnectionHandler) =
      connection(handler, "acolyte.parameter.untypedNull" -> "true")
  8. def connection(sh: AbstractCompositeHandler[_], p: (String, String)*): Connection

    Permalink

    Creates a connection, whose statement will be passed to given handler.

    Creates a connection, whose statement will be passed to given handler.

    sh

    the statement handler

    p

    the connection properties

    returns

    a new Acolyte connection

    import acolyte.jdbc.{ AcolyteDSL, ConnectionHandler }
    import AcolyteDSL.connection
    def foo(handler: ConnectionHandler) =
      connection(handler) // without connection properties
    // With connection property to fallback untyped null
    def bar(handler: ConnectionHandler) =
      connection(handler, "acolyte.parameter.untypedNull" -> "true")
  9. def debuging[A](printer: (QueryExecution) ⇒ Unit = x ⇒ println(s"Executed query: $x"))(f: (java.sql.Connection) ⇒ A): Unit

    Permalink

    Manages a scope to debug any JDBC execution

    Manages a scope to debug any JDBC execution

    printer

    the operation to print any QueryExecution that occurs within the scope of debuging.

    f

    the function working with the debug connection.

    import acolyte.jdbc.AcolyteDSL
    AcolyteDSL.debuging() { con =>
      val stmt = con.prepareStatement("SELECT * FROM Test WHERE id = ?")
      stmt.setString(1, "foo")
      stmt.executeQuery()
    }
    // print on stdout:
    // => Executed query: QueryExecution(SELECT * FROM Test WHERE id = ?,List(Param(foo, VARCHAR)))
  10. final def eq(arg0: AnyRef): Boolean

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  14. def handleQuery(h: (QueryExecution) ⇒ QueryResult): ScalaCompositeHandler

    Permalink

    Creates a new handler detecting all statements as queries (like handleStatement.withQueryDetection(".*").withQueryHandler(h)).

    Creates a new handler detecting all statements as queries (like handleStatement.withQueryDetection(".*").withQueryHandler(h)).

    import acolyte.jdbc.QueryResult
    import acolyte.jdbc.AcolyteDSL.{ connection, handleQuery }
    
    def foo(res: QueryResult) = connection(handleQuery { _ => res })
  15. def handleStatement: ScalaCompositeHandler

    Permalink

    Creates an empty handler.

    Creates an empty handler.

    import acolyte.jdbc.AcolyteDSL.{ connection, handleStatement }
    
    connection { handleStatement }
    Annotations
    @inline()
  16. def handleTransaction(whenCommit: (Connection) ⇒ Unit = _ ⇒ (), whenRollback: (Connection) ⇒ Unit = _ ⇒ ()): ResourceHandler

    Permalink

    Returns a resource handler intercepting transaction commit or rollback.

    Returns a resource handler intercepting transaction commit or rollback.

    whenCommit

    the function handling commit

    whenRollback

    the function handling rollback

    See also

    java.sql.Connection.rollback

    java.sql.Connection.commit

  17. def hashCode(): Int

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

    Permalink
    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  23. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  24. def updateResult(count: Int, keys: RowList[_]): UpdateResult

    Permalink

    Returns an update result with row count and generated keys.

    Returns an update result with row count and generated keys.

    count

    Updated (row) count

    keys

    Generated keys

    import acolyte.jdbc.AcolyteDSL.updateResult
    import acolyte.jdbc.RowLists
    updateResult(2, RowLists.stringList("a", "b")) // 2 = updated rows
  25. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. def withQueryResult[A](res: QueryResult)(f: (java.sql.Connection) ⇒ A): A

    Permalink

    Executes f using a connection accepting only queries, and answering with result to any query.

    Executes f using a connection accepting only queries, and answering with result to any query.

    import acolyte.jdbc.QueryResult
    import acolyte.jdbc.AcolyteDSL.withQueryResult
    
    def str(queryRes: QueryResult): String =
      withQueryResult(queryRes) { con => "str" }

Inherited from AnyRef

Inherited from Any

Ungrouped