little.sql

package little.sql

Type members

Classlikes

case class Connector(url: String, user: String, password: String, driverClassName: String)

Creates database connections.

Creates database connections.

Value Params
driverClassName

fully qualified class name of JDBC driver

password

database password

url

database url

user

database user

sealed abstract class Execution

Represents result of either update or query. If update, result can be obtained via count; otherwise, if query, result can be obtained via resultSet.

Represents result of either update or query. If update, result can be obtained via count; otherwise, if query, result can be obtained via resultSet.

See also
Companion
object
object Execution

Provides factory methods for Execution.

Provides factory methods for Execution.

Companion
class
trait GetValue[T] extends GetValueByIndex[T] with GetValueByLabel[T]

Gets value from ResultSet.

Gets value from ResultSet.

See also
trait GetValueByIndex[T]

Gets value by index from ResultSet.

Gets value by index from ResultSet.

See also
trait GetValueByLabel[T]

Gets value by label from ResultSet.

Gets value by label from ResultSet.

See also
object Implicits

Provides implicits conversions and extension methods.

Provides implicits conversions and extension methods.

trait InParam

Defines value for input parameter.

Defines value for input parameter.

Companion
object
object InParam

Provides factory methods for InParam.

Provides factory methods for InParam.

Companion
class
final case class Query(resultSet: ResultSet) extends Execution

Represents result of query.

Represents result of query.

Value Params
resultSet

result set

See also

Provides interface to incrementally build and execute SQL statements.

Provides interface to incrementally build and execute SQL statements.

QueryBuilder is an immutable structure. A new builder is returned with each requested modification, and a new statement and result set are created on each requested execution.

import java.sql.Connection

import scala.language.implicitConversions

import little.sql.Implicits.*
import little.sql.QueryBuilder

implicit val conn: Connection = ???

QueryBuilder("select * from users where group = ? and enabled = ?")
 .params("staff", true) // Set input parameter values
 .maxRows(10) // Limit result set to 10 rows
 .foreach { rs => printf(s"uid=%d%n", rs.getInt("id")) } // Use implicit connection

// Same as above except use map of parameters
QueryBuilder("select * from users where group = ${group} and enabled = ${enabled}")
 .params("group" -> "staff", "enabled" -> true)
 .maxRows(10)
 .foreach { rs => printf(s"uid=%d%n", rs.getInt("id")) }
Companion
object
object QueryBuilder

Provides QueryBuilder factory.

Provides QueryBuilder factory.

Companion
class
final case class Update(count: Int) extends Execution

Represents result of update.

Represents result of update.

Value Params
count

update count

See also