All Types

com.jovial.db9010.Column

A column in a select statement. This can be either a TableColumn or a QueryColumn.

com.jovial.db9010.ColumnSetter

Superclass for statements that can set table columns: UpdateStatement and InsertStatement. This class maintains a list of the columns that have been set, and a code block to set each value.

com.jovial.db9010.Database

Represents a database that we connect to using JDBC. This is the main entry point in this library for operations on a database.

com.jovial.db9010.DeleteStatement

An SQL delete statement. See Database.deleteFrom.

com.jovial.db9010.GenericStatement

A generic SQL statement. The entire statement body is set by user code. See Database.statement.

com.jovial.db9010.InsertStatement

An SQL insert statement. See Database.insertInto.

com.jovial.db9010.Parameter

A parameter to an SQL statement. Parameters are represented as "?" in the text of a SQL statement. Before executing a statement, they can be set, using ParameterSetter.set, which sets one the underlying java.sql.PreparedStatement's parameter values.

com.jovial.db9010.ParameterSetter

Type for statements that can set parameters: DeleteStatement, UpdateStatement, SelectQuery and GenericStatement. This class maintains a map of the parameters that have been set to code blocks that set the parameters on a PreparedStatement, given the value index.

com.jovial.db9010.QueryColumn

A query column with a SQL expression, like "COUNT(*)". QueryColumn values are read-only, and query columns cannot appear in a SelectQuery marked as for update.

com.jovial.db9010.ResultsHolder

Abstract superclass for objects that hold a ResultSet: SelectQuery and InsertStatement.Result. This class maintains a map that is used to look up a desired Column, and find it in a ResultSet.

com.jovial.db9010.ReusableDeleteStatement

A delete statement that can be stored in a variable, and used multipe times. This saves the (small) overhead of a hash table lookup that's incurred when using Database.deleteFrom every time the same statement is run.

com.jovial.db9010.ReusableGenericStatement

A generic statement that can be stored in a variable, and used multipe times. This saves the (small) overhead of a hash table lookup that's incurred when using Database.statement every time the same statement is run.

com.jovial.db9010.ReusableSelectQuery

A select query that can be stored in a variable, and used multipe times. This saves the (small) overhead of a hash table lookup that's incurred when using Database.select every time the same statement is run.

com.jovial.db9010.SelectQuery

An SQL select query. See Database.select.

com.jovial.db9010.StatementBuilder

Abstract superclass for the builder of all statement types. See also StatementBuilder.doNotCache

com.jovial.db9010.Table

Base class for Table definitions. A table is defined by making a singleton object that implements this type, with TableColumn members. Columns register themselves with their table, which is the first parameter to their constructor.

com.jovial.db9010.TableColumn

A column in a Table. The SQL type of the column is determined by sqlType, and the Kotlin type is determined by adapter. See Table

com.jovial.db9010.TextStatementBuilder

Superclass for the builder of all statements that can have SQL strings added to the statement body. See TextStatementBuilder.plus.

com.jovial.db9010.Types
com.jovial.db9010.UpdateStatement

An SQL update statement. See Database.update.

com.jovial.db9010.ValueAdapter

Interface describing an object that is used to adapt a PreparedStatement or a ResultSet by getting/setting a value of the appropriate type.

com.jovial.db9010.ValueAdapterNotNull

Abstract superclass for all value adapters of non-nullable types. This provides an implementation of a method that creates a value adapter of the corresponding nullable type.