scalikejdbc

package scalikejdbc

ScalikeJDBC - SQL-Based DB Access Library for Scala

Just write SQL:

ScalikeJDBC is a SQL-based DB access library for Scala developers. This library naturally wraps JDBC APIs and provides you easy-to-use APIs. Users do nothing other than writing SQL and mapping from java.sql.ResultSet objects to Scala values.

Basic Usage:

Using scalikejdbc.DBSession:

import scalikejdbc._
import org.joda.time.DateTime
case class User(id: Long, name: String, birthday: Option[DateTime])

val activeUsers: List[User] = DB readOnly { session =>
  session.list("select * from users where active = ?", true) { rs =>
    User(id = rs.long("id"), name = rs.string("name"), birthday = Option(rs.date("birthday")).map(_.toDateTime))
  }
}

Using scalikejdbc.SQL:

import scalikejdbc._
import org.joda.time.DateTime
case class User(id: Long, name: String, birthday: Option[DateTime])

val activeUsers: List[User] = DB readOnly { implicit session =>
  SQL("select * from users where active = ?")
    .bind(true)
    .map { rs => User(id = rs.long("id"), name = rs.string("name"), birthday = Option(rs.date("birthday")).map(_.toDateTime)) }.list.apply()
}

or

val activeUsers: List[User] = DB readOnly { implicit session =>
SQL("select * from users where active = /*'active*/rue")
  .bindByName('active -> true)
  .map { rs => User(id = rs.long("id"), name = rs.string("name"), birthday = Option(rs.date("birthday")).map(_.toDateTime)) }.list.apply()
}
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. scalikejdbc
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. case class ActiveSession(conn: Connection, tx: Option[Tx] = scala.None, isReadOnly: Boolean = false) extends DBSession with Product with Serializable

    Active session implementation of scalikejdbc.DBSession.

  2. trait AllOutputDecisionsUnsupported[Z, E <: WithExtractor] extends SQL[Z, E]

    All output decisions are unsupported by default.

  3. class AuthenticatedDataSourceConnectionPool extends ConnectionPool

    Connection Pool using external DataSource

  4. class BoneCPConnectionPool extends ConnectionPool

    BoneCP Connection Pool

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

  6. class Commons2ConnectionPool extends ConnectionPool

    Commons DBCP Connection Pool

  7. class CommonsConnectionPool extends ConnectionPool

    Commons DBCP Connection Pool

  8. abstract class ConnectionPool extends AnyRef

    Connection Pool

  9. trait ConnectionPoolContext extends AnyRef

    Connection pool context

  10. trait ConnectionPoolFactory extends AnyRef

    Connection Pool Factory

  11. case class ConnectionPoolSettings(initialSize: Int = 0, maxSize: Int = 8, connectionTimeoutMillis: Long = 5000L, validationQuery: String = null, connectionPoolFactoryName: String = null) extends Product with Serializable

    Settings for ConnectionPool

  12. case class DB(conn: Connection) extends DBConnection with Product with Serializable

    Basic Database Accessor

  13. trait DBConnection extends LogSupport

    Basic Database Accessor

  14. trait DBSession extends LogSupport

    DB Session

  15. class DataSourceConnectionPool extends ConnectionPool

    Connection Pool using external DataSource

  16. trait EntityEquality extends AnyRef

    Entity identifier provider for equality (especially for scalikejdbc.

  17. trait HasExtractor extends WithExtractor

    Represents that this SQL already has an extractor

  18. case class IllegalRelationshipException(message: String) extends IllegalStateException with Product with Serializable

    Exception which represents that an illegal relationship is found.

  19. case class InvalidColumnNameException(name: String) extends Exception with Product with Serializable

    Exception which represents invalid key is specified.

  20. case class JDBCSettings(url: String, user: String, password: String, driverName: String) extends Product with Serializable

    JDBC Settings

  21. case class JDBCUrl(host: String, port: Int, database: String) extends Product with Serializable

    JDBC URL which contains host, port and database name

  22. trait LoanPattern extends AnyRef

    Loan pattern implementation

  23. class LocalTimeConverter extends AnyRef

    org.

  24. case class LoggingSQLAndTimeSettings(enabled: Boolean = true, singleLineMode: Boolean = false, printUnprocessedStackTrace: Boolean = false, stackTraceDepth: Int = 15, logLevel: Symbol = scala.Symbol.apply("debug"), warningEnabled: Boolean = false, warningThresholdMillis: Long = 3000L, warningLogLevel: Symbol = scala.Symbol.apply("warn")) extends Product with Serializable

    Settings for logging SQL and timing

  25. trait LowPriorityTypeBinderImplicits extends AnyRef

  26. case class MultipleConnectionPoolContext(contexts: (Any, ConnectionPool)*) extends ConnectionPoolContext with Product with Serializable

    Multiple connection pool context

  27. case class NameBindingSQLValidatorSettings(ignoredParams: IgnoredParamsValidation = ...) extends Product with Serializable

    Settings for Name binding SQL validator

  28. case class NamedAutoSession(name: Any) extends DBSession with Product with Serializable

    Represents that already existing session will be used or a new session which is retrieved from named connection pool will be started.

  29. case class NamedDB(name: Any)(implicit context: ConnectionPoolContext = NoConnectionPoolContext) extends DBConnection with Product with Serializable

    Named Basic DB Accessor

  30. trait NoExtractor extends WithExtractor

    Represents that this SQL doesn't have an extractor yet

  31. class OneToManies2SQL[A, B1, B2, E <: WithExtractor, Z] extends SQL[Z, E] with AllOutputDecisionsUnsupported[Z, E]

  32. class OneToManies2SQLToList[A, B1, B2, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToList[Z, E] with OutputDecisions[Z, E] with OneToManies2Extractor[A, B1, B2, E, Z]

  33. class OneToManies2SQLToOption[A, B1, B2, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToOption[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManies2Extractor[A, B1, B2, E, Z]

  34. class OneToManies2SQLToTraversable[A, B1, B2, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToTraversable[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManies2Extractor[A, B1, B2, E, Z]

  35. class OneToManies3SQL[A, B1, B2, B3, E <: WithExtractor, Z] extends SQL[Z, E] with AllOutputDecisionsUnsupported[Z, E]

  36. class OneToManies3SQLToList[A, B1, B2, B3, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToList[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManies3Extractor[A, B1, B2, B3, E, Z]

  37. class OneToManies3SQLToOption[A, B1, B2, B3, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToOption[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManies3Extractor[A, B1, B2, B3, E, Z]

  38. class OneToManies3SQLToTraversable[A, B1, B2, B3, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToTraversable[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManies3Extractor[A, B1, B2, B3, E, Z]

  39. class OneToManies4SQL[A, B1, B2, B3, B4, E <: WithExtractor, Z] extends SQL[Z, E] with AllOutputDecisionsUnsupported[Z, E]

  40. class OneToManies4SQLToList[A, B1, B2, B3, B4, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToList[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManies4Extractor[A, B1, B2, B3, B4, E, Z]

  41. class OneToManies4SQLToOption[A, B1, B2, B3, B4, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToOption[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManies4Extractor[A, B1, B2, B3, B4, E, Z]

  42. class OneToManies4SQLToTraversable[A, B1, B2, B3, B4, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToTraversable[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManies4Extractor[A, B1, B2, B3, B4, E, Z]

  43. class OneToManies5SQL[A, B1, B2, B3, B4, B5, E <: WithExtractor, Z] extends SQL[Z, E] with AllOutputDecisionsUnsupported[Z, E]

  44. class OneToManies5SQLToList[A, B1, B2, B3, B4, B5, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToList[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManies5Extractor[A, B1, B2, B3, B4, B5, E, Z]

  45. class OneToManies5SQLToOption[A, B1, B2, B3, B4, B5, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToOption[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManies5Extractor[A, B1, B2, B3, B4, B5, E, Z]

  46. class OneToManies5SQLToTraversable[A, B1, B2, B3, B4, B5, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToTraversable[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManies5Extractor[A, B1, B2, B3, B4, B5, E, Z]

  47. class OneToManySQL[A, B, E <: WithExtractor, Z] extends SQL[Z, E] with AllOutputDecisionsUnsupported[Z, E]

  48. class OneToManySQLToList[A, B, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToList[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManyExtractor[A, B, E, Z]

  49. class OneToManySQLToOption[A, B, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToOption[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManyExtractor[A, B, E, Z]

  50. class OneToManySQLToTraversable[A, B, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToTraversable[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToManyExtractor[A, B, E, Z]

  51. class OneToOneSQL[A, B, E <: WithExtractor, Z] extends SQL[Z, E] with AllOutputDecisionsUnsupported[Z, E]

  52. class OneToOneSQLToList[A, B, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToList[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToOneExtractor[A, B, E, Z]

  53. class OneToOneSQLToOption[A, B, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToOption[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToOneExtractor[A, B, E, Z]

  54. class OneToOneSQLToTraversable[A, B, E <: WithExtractor, Z] extends SQL[Z, E] with SQLToTraversable[Z, E] with AllOutputDecisionsUnsupported[Z, E] with OneToOneExtractor[A, B, E, Z]

  55. class OneToXSQL[A, E <: WithExtractor, Z] extends SQL[Z, E] with AllOutputDecisionsUnsupported[Z, E]

    Endpoint of one-to-x APIs

  56. case class ReadOnlyNamedAutoSession(name: Any) extends DBSession with Product with Serializable

    Represents that already existing session will be used or a new read-only session which is retrieved from named connnection pool will be started.

  57. class ResultSetCursor extends AnyRef

    java.

  58. case class ResultSetExtractorException(message: String, e: Option[Exception] = scala.None) extends IllegalArgumentException with Product with Serializable

    Exception which represents failure on ResultSet extraction.

  59. class ResultSetTraversable extends Traversable[WrappedResultSet]

    scala.

  60. abstract class SQL[A, E <: WithExtractor] extends Extractor[A]

    SQL abstraction.

  61. class SQLBatch extends AnyRef

    SQL which execute java.

  62. class SQLExecution extends AnyRef

    SQL which execute java.

  63. trait SQLFormatter extends AnyRef

    SQL formatter

  64. case class SQLFormatterSettings(formatterClassName: Option[String]) extends LogSupport with Product with Serializable

    Settings for SQL formatter

  65. trait SQLToList[A, E <: WithExtractor] extends SQL[A, E] with Extractor[A]

    SQL to List

  66. class SQLToListImpl[A, E <: WithExtractor] extends SQL[A, E] with OutputDecisions[A, E] with SQLToList[A, E]

    SQL which execute java.

  67. trait SQLToOption[A, E <: WithExtractor] extends SQL[A, E] with Extractor[A]

    SQL to Option

  68. class SQLToOptionImpl[A, E <: WithExtractor] extends SQL[A, E] with OutputDecisions[A, E] with SQLToOption[A, E]

    SQL which execute java.

  69. trait SQLToTraversable[A, E <: WithExtractor] extends SQL[A, E] with Extractor[A]

    SQL to Traversable

  70. class SQLToTraversableImpl[A, E <: WithExtractor] extends SQL[A, E] with OutputDecisions[A, E] with SQLToTraversable[A, E]

    SQL which execute java.

  71. class SQLUpdate extends AnyRef

    SQL which execute java.

  72. class SQLUpdateWithGeneratedKey extends AnyRef

    SQL which execute java.

  73. class ScalaBigDecimalConverter extends AnyRef

    BigDecimal converter.

  74. case class StatementExecutor(underlying: PreparedStatement, template: String, singleParams: Seq[Any] = immutable.this.Nil, isBatch: Boolean = false) extends LogSupport with Product with Serializable

    java.

  75. case class StringSQLRunner(sql: String) extends LogSupport with Product with Serializable

    String SQL Runner

  76. case class TooManyRowsException(expected: Int, actual: Int) extends Exception with Product with Serializable

    Exception which represents too many rows returned.

  77. class Tx extends AnyRef

    DB Transaction abstraction.

  78. trait TypeBinder[+A] extends AnyRef

    Type binder for java.

  79. class UnexpectedNullValueException extends Exception

  80. class UnixTimeInMillisConverter extends AnyRef

    Unix Time Converter to several types.

  81. sealed trait WithExtractor extends AnyRef

    Represents an extractor is already specified or not

  82. case class WrappedResultSet(underlying: ResultSet, cursor: ResultSetCursor, index: Int) extends Product with Serializable

    java.

Value Members

  1. object AutoSession extends DBSession with Product with Serializable

    Represents that already existing session will be used or a new session will be started.

  2. object BoneCPConnectionPoolFactory extends ConnectionPoolFactory

    Connection Pool Factory

  3. object Commons2ConnectionPoolFactory extends ConnectionPoolFactory

    Connection Pool Factory

  4. object CommonsConnectionPoolFactory extends ConnectionPoolFactory

    Connection Pool Factory

  5. object ConnectionPool extends LogSupport

    Connection Pool

  6. object ConnectionPoolFactoryRepository

    ConnectionPoolFactoryRepository

  7. object DB extends Serializable

    Basic Database Accessor

  8. object DBSession

  9. object GeneralizedTypeConstraintsForWithExtractor

    Generalized type constraints for WithExtractor

  10. object GlobalSettings

    GlobalSettings for this library

  11. object JDBCUrl extends Serializable

    Companion object of JDBC URL

  12. object LoanPattern extends LoanPattern

  13. object NoConnectionPoolContext extends ConnectionPoolContext

    No Connection Pool Context

  14. object NoSession extends DBSession with Product with Serializable

    Represents that there is no active session.

  15. object OneToXSQL

  16. object ReadOnlyAutoSession extends DBSession with Product with Serializable

    Represents that already existing session will be used or a new read-only session will be started.

  17. object SQL

    SQL abstraction's companion object.

  18. object SQLFormatterSettings extends Serializable

  19. object SQLTemplateParser extends JavaTokenParsers with LogSupport

    SQL Template Parser.

  20. object StatementExecutor extends Serializable

    Companion object.

  21. object StringSQLRunner extends Serializable

  22. object ThreadLocalDB

    Thread-local DB.

  23. object TypeBinder extends LowPriorityTypeBinderImplicits

    Type binder for java.

  24. implicit def convertBigDecimal(bd: BigDecimal): ScalaBigDecimalConverter

  25. implicit def convertJavaSqlDateToConverter(t: Date): UnixTimeInMillisConverter

  26. implicit def convertJavaSqlTimeToConverter(t: Time): UnixTimeInMillisConverter

  27. implicit def convertJavaSqlTimestampToConverter(t: Timestamp): UnixTimeInMillisConverter

  28. implicit def convertJavaUtilDateToConverter(t: Date): UnixTimeInMillisConverter

  29. implicit def convertLocalTimeToConverter(t: LocalTime): LocalTimeConverter

  30. def futureUsing[R <: Closable, A](resource: R)(f: (R) ⇒ Future[A]): Future[A]

  31. package globalsettings

  32. package metadata

  33. def opt[A](v: Any): Option[A]

    Option value converter.

    Option value converter.

    A

    raw type

    v

    nullable raw value

    returns

    optional value

  34. def using[R <: Closable, A](resource: R)(f: (R) ⇒ A): A

Deprecated Value Members

  1. val ExecutableSQLParser: SQLTemplateParser.type

    Annotations
    @deprecated
    Deprecated

    (Since version 1.4.0) ExecutableSQLParser renamed ifself SQLTemplateParser

Inherited from AnyRef

Inherited from Any

Ungrouped