little.sql
Type members
Classlikes
Provides extension methods for java.sql.Connection
.
Provides extension methods for java.sql.Connection
.
import scala.language.implicitConversions
import little.sql.{ *, given }
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"))
}
}
}
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
Provides extension methods for javax.sql.DataSource
.
Provides extension methods for javax.sql.DataSource
.
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
Provides factory methods for Execution.
Provides factory methods for Execution.
- Companion
- class
Gets value by index from ResultSet.
Gets value by index from ResultSet.
- See also
GetValueByLabel, ResultSetMethods
Gets value by label from ResultSet.
Gets value by label from ResultSet.
- See also
GetValueByIndex, ResultSetMethods
Provides factory methods for InParam.
Provides factory methods for InParam.
- Companion
- class
Provides extension methods for java.sql.PreparedStatement
.
Provides extension methods for java.sql.PreparedStatement
.
- See also
StatementMethods
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.{ *, given }
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
Provides extension methods for java.sql.ResultSet
.
Provides extension methods for java.sql.ResultSet
.
Provides extension methods for java.sql.Statement
.
Provides extension methods for java.sql.Statement
.
- See also
PreparedStatementMethods
Givens
Givens
Converts Map[T] to Seq[InParam].
Converts Map[T] to Seq[InParam].
Converts Seq[T] to Seq[InParam].
Converts Seq[T] to Seq[InParam].
Converts Map[T] to Seq[InParam].
Converts Map[T] to Seq[InParam].
Implicits
Implicits
Provides extension methods for java.sql.Connection
.
Provides extension methods for java.sql.Connection
.
import scala.language.implicitConversions
import little.sql.{ *, given }
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"))
}
}
}
Provides extension methods for javax.sql.DataSource
.
Provides extension methods for javax.sql.DataSource
.
Provides extension methods for java.sql.PreparedStatement
.
Provides extension methods for java.sql.PreparedStatement
.
- See also
StatementMethods
Provides extension methods for java.sql.ResultSet
.
Provides extension methods for java.sql.ResultSet
.