public abstract class SQLBuilder
extends java.lang.Object
SQLBuilder
and more efficient, comparing to write sql in plain text.
sql()
or pair()
method must be called to release resources.
String sql = NE.insert("gui", "firstName", "lastName").into("account").sql();
// SQL: INSERT INTO account (gui, first_name, last_name) VALUES (:gui, :firstName, :lastName)
Modifier and Type | Class and Description |
---|---|
static class |
SQLBuilder.E
All the property/column names in collection/map/entity/condition will be converted to lower case with underscore.
|
static class |
SQLBuilder.E2
All the property/column names in collection/map/entity/condition will be converted to upper case with underscore.
|
static class |
SQLBuilder.E3
All the property/column names in collection/map/entity/condition will be kept without any change.
|
static class |
SQLBuilder.NE
All the property/column names in collection/map/entity/condition will be converted to lower case with underscore and the sql will be parameterized with named parameter with Hibernate/JPA format
:parameterName |
static class |
SQLBuilder.NE2
All the property/column names in collection/map/entity/condition will be converted to upper case with underscore and the sql will be parameterized with named parameter with Hibernate/JPA format
:parameterName |
static class |
SQLBuilder.NE3
All the property/column names in collection/map/entity/condition will be kept without any change and the sql will be parameterized with named parameter with Hibernate/JPA format
:parameterName |
static class |
SQLBuilder.RE
All the property/column names in collection/map/entity/condition will be converted to lower case with underscore and the sql will be parameterized with question mark.
|
static class |
SQLBuilder.RE2
All the property/column names in collection/map/entity/condition will be converted to upper case with underscore and the sql will be parameterized with question mark.
|
static class |
SQLBuilder.RE3
All the property/column names in collection/map/entity/condition will be kept without any change and the sql will be parameterized with question mark.
|
static class |
SQLBuilder.SE
All the property/column names in collection/map/entity/condition will be converted to lower case with underscore and the sql will be parameterized with named parameter with Ibatis format
#{parameterName} . |
static class |
SQLBuilder.SE2
All the property/column names in collection/map/entity/condition will be converted to upper case with underscore and the sql will be parameterized with named parameter with Ibatis format
#{parameterName} . |
static class |
SQLBuilder.SE3
All the property/column names in collection/map/entity/condition will be kept without any change and the sql will be parameterized with named parameter with Ibatis format
#{parameterName} . |
static class |
SQLBuilder.SP |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
_1 |
static java.util.List<java.lang.String> |
_1_list |
static java.lang.String |
ALL |
static java.lang.String |
ASTERISK |
static java.lang.String |
COUNT_ALL |
static java.lang.String |
DISTINCT |
static java.lang.String |
DISTINCTROW |
static java.lang.String |
TOP |
static java.lang.String |
UNIQUE |
Modifier and Type | Method and Description |
---|---|
SQLBuilder |
crossJoin(java.lang.Class<?> entityClass) |
SQLBuilder |
crossJoin(java.lang.String expr) |
SQLBuilder |
except(java.util.Collection<java.lang.String> columnNames) |
SQLBuilder |
except(SQLBuilder sqlBuilder) |
SQLBuilder |
except(java.lang.String... columnNames) |
SQLBuilder |
except(java.lang.String query) |
SQLBuilder |
forUpdate() |
SQLBuilder |
from(java.lang.Class<?> entityClass) |
SQLBuilder |
from(java.util.Collection<java.lang.String> tableNames) |
SQLBuilder |
from(java.util.Map<java.lang.String,java.lang.String> tableAliases) |
SQLBuilder |
from(java.lang.String... tableNames) |
SQLBuilder |
from(java.lang.String expr) |
SQLBuilder |
fullJoin(java.lang.Class<?> entityClass) |
SQLBuilder |
fullJoin(java.lang.String expr) |
SQLBuilder |
groupBy(java.util.Collection<java.lang.String> columnNames) |
SQLBuilder |
groupBy(java.util.Collection<java.lang.String> columnNames,
com.landawn.abacus.util.SortDirection direction) |
SQLBuilder |
groupBy(java.util.Map<java.lang.String,com.landawn.abacus.util.SortDirection> orders) |
SQLBuilder |
groupBy(java.lang.String... columnNames) |
SQLBuilder |
groupBy(java.lang.String expr) |
SQLBuilder |
groupBy(java.lang.String columnName,
com.landawn.abacus.util.SortDirection direction) |
SQLBuilder |
having(Condition cond) |
SQLBuilder |
having(java.lang.String expr) |
SQLBuilder |
innerJoin(java.lang.Class<?> entityClass) |
SQLBuilder |
innerJoin(java.lang.String expr) |
SQLBuilder |
intersect(java.util.Collection<java.lang.String> columnNames) |
SQLBuilder |
intersect(SQLBuilder sqlBuilder) |
SQLBuilder |
intersect(java.lang.String... columnNames) |
SQLBuilder |
intersect(java.lang.String query) |
SQLBuilder |
into(java.lang.Class<?> entityClass) |
SQLBuilder |
into(java.lang.String tableName) |
SQLBuilder |
join(java.lang.Class<?> entityClass) |
SQLBuilder |
join(java.lang.String expr) |
SQLBuilder |
leftJoin(java.lang.Class<?> entityClass) |
SQLBuilder |
leftJoin(java.lang.String expr) |
SQLBuilder |
limit(int count) |
SQLBuilder |
limit(int offset,
int count) |
SQLBuilder |
minus(java.util.Collection<java.lang.String> columnNames) |
SQLBuilder |
minus(SQLBuilder sqlBuilder) |
SQLBuilder |
minus(java.lang.String... columnNames) |
SQLBuilder |
minus(java.lang.String query) |
SQLBuilder |
naturalJoin(java.lang.Class<?> entityClass) |
SQLBuilder |
naturalJoin(java.lang.String expr) |
SQLBuilder |
offset(int offset) |
SQLBuilder |
on(Condition cond) |
SQLBuilder |
on(java.lang.String expr) |
SQLBuilder |
orderBy(java.util.Collection<java.lang.String> columnNames) |
SQLBuilder |
orderBy(java.util.Collection<java.lang.String> columnNames,
com.landawn.abacus.util.SortDirection direction) |
SQLBuilder |
orderBy(java.util.Map<java.lang.String,com.landawn.abacus.util.SortDirection> orders) |
SQLBuilder |
orderBy(java.lang.String... columnNames) |
SQLBuilder |
orderBy(java.lang.String expr) |
SQLBuilder |
orderBy(java.lang.String columnName,
com.landawn.abacus.util.SortDirection direction) |
SQLBuilder.SP |
pair()
This SQLBuilder will be closed after
pair() is called. |
java.util.List<java.lang.Object> |
parameters() |
static void |
registerColumnName(java.lang.String entityTableName,
java.util.Map<java.lang.String,java.lang.String> propColumnNameMap)
Register the irregular column names which can not be converted from property name by naming policy.
|
SQLBuilder |
rightJoin(java.lang.Class<?> entityClass) |
SQLBuilder |
rightJoin(java.lang.String expr) |
SQLBuilder |
set(java.lang.Class<?> entityClass) |
SQLBuilder |
set(java.lang.Class<?> entityClass,
java.util.Set<java.lang.String> excludedPropNames) |
SQLBuilder |
set(java.util.Collection<java.lang.String> columnNames) |
SQLBuilder |
set(java.util.Map<java.lang.String,java.lang.Object> props) |
SQLBuilder |
set(java.lang.Object entity)
Only the dirty properties will be set into the result SQL if the specified entity is a dirty marker entity.
|
SQLBuilder |
set(java.lang.Object entity,
java.util.Set<java.lang.String> excludedPropNames)
Only the dirty properties will be set into the result SQL if the specified entity is a dirty marker entity.
|
SQLBuilder |
set(java.lang.String... columnNames) |
SQLBuilder |
set(java.lang.String expr) |
java.lang.String |
sql()
This SQLBuilder will be closed after
sql() is called. |
java.lang.String |
toString() |
SQLBuilder |
union(java.util.Collection<java.lang.String> columnNames) |
SQLBuilder |
union(SQLBuilder sqlBuilder) |
SQLBuilder |
union(java.lang.String... columnNames) |
SQLBuilder |
union(java.lang.String query) |
SQLBuilder |
unionAll(java.util.Collection<java.lang.String> columnNames) |
SQLBuilder |
unionAll(SQLBuilder sqlBuilder) |
SQLBuilder |
unionAll(java.lang.String... columnNames) |
SQLBuilder |
unionAll(java.lang.String query) |
SQLBuilder |
using(java.lang.String expr) |
SQLBuilder |
where(Condition cond) |
SQLBuilder |
where(java.lang.String expr) |
public static final java.lang.String ALL
public static final java.lang.String TOP
public static final java.lang.String UNIQUE
public static final java.lang.String DISTINCT
public static final java.lang.String DISTINCTROW
public static final java.lang.String ASTERISK
public static final java.lang.String COUNT_ALL
public static final java.lang.String _1
public static final java.util.List<java.lang.String> _1_list
public static void registerColumnName(java.lang.String entityTableName, java.util.Map<java.lang.String,java.lang.String> propColumnNameMap)
entityTableName
- propColumnNameMap
- public SQLBuilder into(java.lang.String tableName)
public SQLBuilder into(java.lang.Class<?> entityClass)
public SQLBuilder from(java.lang.String expr)
@SafeVarargs public final SQLBuilder from(java.lang.String... tableNames)
public SQLBuilder from(java.util.Collection<java.lang.String> tableNames)
public SQLBuilder from(java.util.Map<java.lang.String,java.lang.String> tableAliases)
public SQLBuilder from(java.lang.Class<?> entityClass)
public SQLBuilder join(java.lang.String expr)
public SQLBuilder join(java.lang.Class<?> entityClass)
public SQLBuilder leftJoin(java.lang.String expr)
public SQLBuilder leftJoin(java.lang.Class<?> entityClass)
public SQLBuilder rightJoin(java.lang.String expr)
public SQLBuilder rightJoin(java.lang.Class<?> entityClass)
public SQLBuilder fullJoin(java.lang.String expr)
public SQLBuilder fullJoin(java.lang.Class<?> entityClass)
public SQLBuilder crossJoin(java.lang.String expr)
public SQLBuilder crossJoin(java.lang.Class<?> entityClass)
public SQLBuilder innerJoin(java.lang.String expr)
public SQLBuilder innerJoin(java.lang.Class<?> entityClass)
public SQLBuilder naturalJoin(java.lang.String expr)
public SQLBuilder naturalJoin(java.lang.Class<?> entityClass)
public SQLBuilder on(java.lang.String expr)
public SQLBuilder on(Condition cond)
cond
- any literal written in Expression
condition won't be formalizedpublic SQLBuilder using(java.lang.String expr)
public SQLBuilder where(java.lang.String expr)
public SQLBuilder where(Condition cond)
cond
- any literal written in Expression
condition won't be formalizedpublic SQLBuilder groupBy(java.lang.String expr)
@SafeVarargs public final SQLBuilder groupBy(java.lang.String... columnNames)
public SQLBuilder groupBy(java.lang.String columnName, com.landawn.abacus.util.SortDirection direction)
public SQLBuilder groupBy(java.util.Collection<java.lang.String> columnNames)
public SQLBuilder groupBy(java.util.Collection<java.lang.String> columnNames, com.landawn.abacus.util.SortDirection direction)
public SQLBuilder groupBy(java.util.Map<java.lang.String,com.landawn.abacus.util.SortDirection> orders)
public SQLBuilder having(java.lang.String expr)
public SQLBuilder having(Condition cond)
cond
- any literal written in Expression
condition won't be formalizedpublic SQLBuilder orderBy(java.lang.String expr)
@SafeVarargs public final SQLBuilder orderBy(java.lang.String... columnNames)
public SQLBuilder orderBy(java.lang.String columnName, com.landawn.abacus.util.SortDirection direction)
public SQLBuilder orderBy(java.util.Collection<java.lang.String> columnNames)
public SQLBuilder orderBy(java.util.Collection<java.lang.String> columnNames, com.landawn.abacus.util.SortDirection direction)
public SQLBuilder orderBy(java.util.Map<java.lang.String,com.landawn.abacus.util.SortDirection> orders)
public SQLBuilder limit(int count)
public SQLBuilder limit(int offset, int count)
public SQLBuilder offset(int offset)
public SQLBuilder union(SQLBuilder sqlBuilder)
public SQLBuilder union(java.lang.String query)
@SafeVarargs public final SQLBuilder union(java.lang.String... columnNames)
public SQLBuilder union(java.util.Collection<java.lang.String> columnNames)
public SQLBuilder unionAll(SQLBuilder sqlBuilder)
public SQLBuilder unionAll(java.lang.String query)
@SafeVarargs public final SQLBuilder unionAll(java.lang.String... columnNames)
public SQLBuilder unionAll(java.util.Collection<java.lang.String> columnNames)
public SQLBuilder intersect(SQLBuilder sqlBuilder)
public SQLBuilder intersect(java.lang.String query)
@SafeVarargs public final SQLBuilder intersect(java.lang.String... columnNames)
public SQLBuilder intersect(java.util.Collection<java.lang.String> columnNames)
public SQLBuilder except(SQLBuilder sqlBuilder)
public SQLBuilder except(java.lang.String query)
@SafeVarargs public final SQLBuilder except(java.lang.String... columnNames)
public SQLBuilder except(java.util.Collection<java.lang.String> columnNames)
public SQLBuilder minus(SQLBuilder sqlBuilder)
public SQLBuilder minus(java.lang.String query)
@SafeVarargs public final SQLBuilder minus(java.lang.String... columnNames)
public SQLBuilder minus(java.util.Collection<java.lang.String> columnNames)
public SQLBuilder forUpdate()
public SQLBuilder set(java.lang.String expr)
@SafeVarargs public final SQLBuilder set(java.lang.String... columnNames)
public SQLBuilder set(java.util.Collection<java.lang.String> columnNames)
public SQLBuilder set(java.util.Map<java.lang.String,java.lang.Object> props)
public SQLBuilder set(java.lang.Object entity)
entity
- public SQLBuilder set(java.lang.Object entity, java.util.Set<java.lang.String> excludedPropNames)
entity
- excludedPropNames
- public SQLBuilder set(java.lang.Class<?> entityClass)
public SQLBuilder set(java.lang.Class<?> entityClass, java.util.Set<java.lang.String> excludedPropNames)
public java.lang.String sql()
sql()
is called.public java.util.List<java.lang.Object> parameters()
public SQLBuilder.SP pair()
pair()
is called.public java.lang.String toString()
toString
in class java.lang.Object