C
- The type extending this class.public abstract class AbstractSQLInsertClause<C extends AbstractSQLInsertClause<C>> extends AbstractSQLClause<C> implements InsertClause<C>
Modifier and Type | Field and Description |
---|---|
protected List<SQLInsertBatch> |
batches |
protected boolean |
batchToBulk |
protected List<Path<?>> |
columns |
protected List<Object> |
constants |
protected RelationalPath<?> |
entity |
protected static org.slf4j.Logger |
logger |
protected QueryMetadata |
metadata |
protected String |
queryString |
protected SubQueryExpression<?> |
subQuery |
protected SQLQuery<?> |
subQueryBuilder |
protected List<Expression<?>> |
values |
configuration, context, listeners, useLiterals
Constructor and Description |
---|
AbstractSQLInsertClause(Connection connection,
Configuration configuration,
RelationalPath<?> entity) |
AbstractSQLInsertClause(Connection connection,
Configuration configuration,
RelationalPath<?> entity,
SQLQuery<?> subQuery) |
AbstractSQLInsertClause(javax.inject.Provider<Connection> connection,
Configuration configuration,
RelationalPath<?> entity) |
AbstractSQLInsertClause(javax.inject.Provider<Connection> connection,
Configuration configuration,
RelationalPath<?> entity,
SQLQuery<?> subQuery) |
Modifier and Type | Method and Description |
---|---|
C |
addBatch()
Add the current state of bindings as a batch item
|
C |
addFlag(QueryFlag.Position position,
Expression<?> flag)
Add the given Expression at the given position as a query flag
|
C |
addFlag(QueryFlag.Position position,
String flag)
Add the given String literal at the given position as a query flag
|
void |
clear()
Clear the internal state of the clause
|
C |
columns(Path<?>... columns)
Define the columns to be populated
|
protected PreparedStatement |
createStatement(boolean withKeys) |
protected Collection<PreparedStatement> |
createStatements(boolean withKeys) |
long |
execute()
Execute the clause and return the amount of affected rows
|
<T> T |
executeWithKey(Class<T> type)
Execute the clause and return the generated key cast to the given type.
|
protected <T> T |
executeWithKey(Class<T> type,
Path<T> path) |
<T> T |
executeWithKey(Path<T> path)
Execute the clause and return the generated key with the type of the
given path.
|
ResultSet |
executeWithKeys()
Execute the clause and return the generated keys as a ResultSet
|
<T> List<T> |
executeWithKeys(Class<T> type) |
protected <T> List<T> |
executeWithKeys(Class<T> type,
Path<T> path) |
<T> List<T> |
executeWithKeys(Path<T> path)
Execute the clause and return the generated key with the type of the
given path.
|
int |
getBatchCount() |
List<SQLBindings> |
getSQL()
Get the SQL string and bindings
|
boolean |
isEmpty()
Returns true, if no bindings have been set, otherwise false.
|
C |
populate(Object bean)
Populate the INSERT clause with the properties of the given bean.
|
<T> C |
populate(T obj,
Mapper<T> mapper)
Populate the INSERT clause with the properties of the given bean using
the given Mapper.
|
protected PreparedStatement |
prepareStatementAndSetParameters(SQLSerializer serializer,
boolean withKeys) |
C |
select(SubQueryExpression<?> sq)
Define the populate via subquery
|
<T> C |
set(Path<T> path,
Expression<? extends T> expression)
Add an expression binding
|
<T> C |
set(Path<T> path,
T value)
Add a value binding
|
void |
setBatchToBulk(boolean b)
Set whether batches should be optimized into a single bulk operation.
|
<T> C |
setNull(Path<T> path)
Bind the given path to null
|
String |
toString() |
C |
values(Object... v)
Define the value bindings
|
addListener, cleanupMDC, close, close, close, connection, createBindings, createSerializer, endContext, executeBatch, logQuery, onException, reset, setParameters, setUseLiterals, startContext
protected static final org.slf4j.Logger logger
protected final RelationalPath<?> entity
protected final QueryMetadata metadata
@Nullable protected SubQueryExpression<?> subQuery
protected final List<SQLInsertBatch> batches
protected final List<Expression<?>> values
protected transient String queryString
protected transient boolean batchToBulk
public AbstractSQLInsertClause(Connection connection, Configuration configuration, RelationalPath<?> entity, SQLQuery<?> subQuery)
public AbstractSQLInsertClause(Connection connection, Configuration configuration, RelationalPath<?> entity)
public AbstractSQLInsertClause(javax.inject.Provider<Connection> connection, Configuration configuration, RelationalPath<?> entity, SQLQuery<?> subQuery)
public AbstractSQLInsertClause(javax.inject.Provider<Connection> connection, Configuration configuration, RelationalPath<?> entity)
@WithBridgeMethods(value=SQLInsertClause.class, castRequired=true) public C addFlag(QueryFlag.Position position, String flag)
position
- positionflag
- query flag@WithBridgeMethods(value=SQLInsertClause.class, castRequired=true) public C addFlag(QueryFlag.Position position, Expression<?> flag)
position
- positionflag
- query flag@WithBridgeMethods(value=SQLInsertClause.class, castRequired=true) public C addBatch()
public void setBatchToBulk(boolean b)
public void clear()
AbstractSQLClause
clear
in class AbstractSQLClause<C extends AbstractSQLInsertClause<C>>
@WithBridgeMethods(value=SQLInsertClause.class, castRequired=true) public C columns(Path<?>... columns)
InsertClause
columns
in interface InsertClause<C extends AbstractSQLInsertClause<C>>
columns
- columns to be populated@Nullable public <T> T executeWithKey(Path<T> path)
T
- path
- path for keypublic <T> T executeWithKey(Class<T> type)
T
- type
- type of keypublic <T> List<T> executeWithKeys(Path<T> path)
T
- path
- path for keyprotected PreparedStatement createStatement(boolean withKeys) throws SQLException
SQLException
protected Collection<PreparedStatement> createStatements(boolean withKeys) throws SQLException
SQLException
protected PreparedStatement prepareStatementAndSetParameters(SQLSerializer serializer, boolean withKeys) throws SQLException
SQLException
public ResultSet executeWithKeys()
public long execute()
DMLClause
execute
in interface DMLClause<C extends AbstractSQLInsertClause<C>>
public List<SQLBindings> getSQL()
AbstractSQLClause
getSQL
in class AbstractSQLClause<C extends AbstractSQLInsertClause<C>>
@WithBridgeMethods(value=SQLInsertClause.class, castRequired=true) public C select(SubQueryExpression<?> sq)
InsertClause
select
in interface InsertClause<C extends AbstractSQLInsertClause<C>>
sq
- sub query to be used for population@WithBridgeMethods(value=SQLInsertClause.class, castRequired=true) public <T> C set(Path<T> path, T value)
StoreClause
set
in interface StoreClause<C extends AbstractSQLInsertClause<C>>
path
- path to be updatedvalue
- value to set@WithBridgeMethods(value=SQLInsertClause.class, castRequired=true) public <T> C set(Path<T> path, Expression<? extends T> expression)
StoreClause
set
in interface StoreClause<C extends AbstractSQLInsertClause<C>>
path
- path to be updatedexpression
- binding@WithBridgeMethods(value=SQLInsertClause.class, castRequired=true) public <T> C setNull(Path<T> path)
StoreClause
setNull
in interface StoreClause<C extends AbstractSQLInsertClause<C>>
path
- path to be updated@WithBridgeMethods(value=SQLInsertClause.class, castRequired=true) public C values(Object... v)
InsertClause
values
in interface InsertClause<C extends AbstractSQLInsertClause<C>>
v
- values to be inserted@WithBridgeMethods(value=SQLInsertClause.class, castRequired=true) public C populate(Object bean)
bean
- bean to use for population@WithBridgeMethods(value=SQLInsertClause.class, castRequired=true) public <T> C populate(T obj, Mapper<T> mapper)
obj
- object to use for populationmapper
- mapper to usepublic boolean isEmpty()
StoreClause
isEmpty
in interface StoreClause<C extends AbstractSQLInsertClause<C>>
public int getBatchCount()
getBatchCount
in class AbstractSQLClause<C extends AbstractSQLInsertClause<C>>
Copyright © 2007–2020 Querydsl. All rights reserved.