org.springframework.data.relational.core.sql

## Class StatementBuilder

- java.lang.Object
- - org.springframework.data.relational.core.sql.StatementBuilder

    public abstract class StatementBuilder
    extends Object

Entrypoint to build SQL statements.

Since:
  1.1
Author:
  Mark Paluch
See Also:
  `SQL`, `Expressions`, `Conditions`, `Functions`

### Method Summary

All Methods Static Methods Concrete Methods
`static DeleteBuilder` `delete()` Creates a new `DeleteBuilder`.
`static DeleteBuilder.DeleteWhere` `delete(Table table)` Creates a new `DeleteBuilder` and declares the `Table` to delete from.
`static InsertBuilder` `insert()` Creates a new `InsertBuilder`.
`static InsertBuilder.InsertIntoColumnsAndValues` `insert(Table table)` Creates a new `InsertBuilder` and declare the `Table` to insert into.
`static SelectBuilder` `select()` Creates a new `SelectBuilder`.
`static SelectBuilder.SelectAndFrom` `select(Collection<? extends Expression> expressions)` Creates a new `SelectBuilder` and includes one or more `Expression`s in the select list.
`static SelectBuilder.SelectAndFrom` `select(Expression... expressions)` Creates a new `SelectBuilder` and includes one or more `SELECT` columns.
`static SelectBuilder.SelectAndFrom` `select(Expression expression)` Creates a new `SelectBuilder` and includes the `SELECT` columns.
`static UpdateBuilder` `update()` Creates a new `UpdateBuilder`.
`static UpdateBuilder.UpdateAssign` `update(Table table)` Creates a new `UpdateBuilder` and declare the `Table` for the update.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### select

    public static SelectBuilder.SelectAndFrom select(Expression expression)

Creates a new `SelectBuilder` and includes the `SELECT` columns.

Parameters:
  `expression` - the select list expression.
Returns:
  the `SelectBuilder` containing `Expression`.
See Also:
  `SelectBuilder.select(Expression)`

#### select

    public static SelectBuilder.SelectAndFrom select(Expression... expressions)

Creates a new `SelectBuilder` and includes one or more `SELECT` columns.

Parameters:
  `expressions` - the select list expressions.
Returns:
  the `SelectBuilder` containing `Expression`s.
See Also:
  `SelectBuilder.select(Expression...)`

#### select

    public static SelectBuilder.SelectAndFrom select(Collection<? extends Expression> expressions)

Creates a new `SelectBuilder` and includes one or more `Expression`s in the select list.

Parameters:
  `expressions` - the expressions to include.
Returns:
  the `SelectBuilder` containing `Expression`s.
See Also:
  `Table.columns(String...)`

#### select

    public static SelectBuilder select()

Creates a new `SelectBuilder`.

Returns:
  the new `SelectBuilder`.
See Also:
  `SelectBuilder`

#### insert

    public static InsertBuilder.InsertIntoColumnsAndValues insert(Table table)

Creates a new `InsertBuilder` and declare the `Table` to insert into.

Parameters:
  `table` - the table to insert into.
Returns:
  the new `InsertBuilder`.
See Also:
  `Table.create(String)`

#### insert

    public static InsertBuilder insert()

Creates a new `InsertBuilder`.

Returns:
  the new `InsertBuilder`.
See Also:
  `InsertBuilder`

#### update

    public static UpdateBuilder.UpdateAssign update(Table table)

Creates a new `UpdateBuilder` and declare the `Table` for the update.

Parameters:
  `table` - the table for the update.
Returns:
  the new `UpdateBuilder`.
See Also:
  `Table.create(String)`

#### update

    public static UpdateBuilder update()

Creates a new `UpdateBuilder`.

Returns:
  the new `UpdateBuilder`.
See Also:
  `UpdateBuilder`

#### delete

    public static DeleteBuilder.DeleteWhere delete(Table table)

Creates a new `DeleteBuilder` and declares the `Table` to delete from.

Parameters:
  `table` - the table to delete from.
Returns:
  `this` builder.
See Also:
  `Table.columns(String...)`

#### delete

    public static DeleteBuilder delete()

Creates a new `DeleteBuilder`.

Returns:
  the new `DeleteBuilder`.
See Also:
  `DeleteBuilder`