public abstract class SQLBuilder extends 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)
tableName will NOT be formalized.
select(...).from(String tableName).where(...)insert(...).into(String tableName).values(...)update(String tableName).set(...).where(...)deleteFrom(String tableName).where(...)com.landawn.abacus.annotation.ReadOnly},
com.landawn.abacus.annotation.ReadOnlyId},
com.landawn.abacus.annotation.NonUpdatable},
com.landawn.abacus.annotation.Transient},
com.landawn.abacus.annotation.Table},
com.landawn.abacus.annotation.Column}| Modifier and Type | Class and Description |
|---|---|
static class |
SQLBuilder.ACSB
Deprecated.
PAC or NAC is preferred. |
static class |
SQLBuilder.LCSB
Deprecated.
PLC or NLC is preferred. |
static class |
SQLBuilder.MAC
Deprecated.
|
static class |
SQLBuilder.MLC
Deprecated.
|
static class |
SQLBuilder.MSB
Deprecated.
|
static class |
SQLBuilder.MSC
Deprecated.
|
static class |
SQLBuilder.NAC
Named SQL builder with all capitals case (upper case with underscore) field/column naming strategy.
|
static class |
SQLBuilder.NLC
Named SQL builder with lower camel case field/column naming strategy.
|
static class |
SQLBuilder.NSB
Named SQL builder with
NamingPolicy.NO_CHANGE field/column naming strategy. |
static class |
SQLBuilder.NSC
Named SQL builder with snake case (lower case with underscore) field/column naming strategy.
|
static class |
SQLBuilder.PAC
Parameterized('?') SQL builder with all capitals case (upper case with underscore) field/column naming strategy.
|
static class |
SQLBuilder.PLC
Parameterized('?') SQL builder with lower camel case field/column naming strategy.
|
static class |
SQLBuilder.PSB
Parameterized('?') SQL builder with
NamingPolicy.NO_CHANGE field/column naming strategy. |
static class |
SQLBuilder.PSC
Parameterized('?') SQL builder with snake case (lower case with underscore) field/column naming strategy.
|
static class |
SQLBuilder.SCSB
Deprecated.
PSC or NSC is preferred. |
static class |
SQLBuilder.SP |
| Modifier and Type | Field and Description |
|---|---|
static String |
_1 |
static List<String> |
_1_list |
static String |
ALL |
static String |
ASTERISK |
static String |
COUNT_ALL |
static String |
DISTINCT |
static String |
DISTINCTROW |
static String |
TOP |
static String |
UNIQUE |
public static final String ALL
public static final String TOP
public static final String UNIQUE
public static final String DISTINCT
public static final String DISTINCTROW
public static final String ASTERISK
public static final String COUNT_ALL
public static final String _1
@Internal public static Collection<String> getInsertPropNames(Object entity, Set<String> excludedPropNames)
entity - excludedPropNames - @Internal public static Collection<String> getInsertPropNames(Class<?> entityClass, Set<String> excludedPropNames)
entityClass - excludedPropNames - @Internal public static Collection<String> getSelectPropNames(Class<?> entityClass, boolean includeSubEntityProperties, Set<String> excludedPropNames)
entityClass - includeSubEntityProperties - excludedPropNames - @Internal public static Collection<String> getUpdatePropNames(Class<?> entityClass, Set<String> excludedPropNames)
entityClass - excludedPropNames - public static String repeatQM(int n)
?) n times with delimiter ", ".
n - @Deprecated @Beta public static ImmutableMap<String,Tuple.Tuple2<String,Boolean>> getProp2ColumnNameMap(Class<?> entityClass, NamingPolicy namingPolicy)
entityClass - namingPolicy - public SQLBuilder into(String tableName)
tableName - public SQLBuilder into(Class<?> entityClass)
entityClass - public SQLBuilder distinct()
public SQLBuilder preselect(String preselect)
preselect - ALL | DISTINCT | DISTINCTROW...public SQLBuilder from(String expr)
expr - @SafeVarargs public final SQLBuilder from(String... tableNames)
tableNames - public SQLBuilder from(Collection<String> tableNames)
tableNames - public SQLBuilder from(Class<?> entityClass)
entityClass - public SQLBuilder from(Class<?> entityClass, String alias)
entityClass - alias - public SQLBuilder join(String expr)
expr - public SQLBuilder join(Class<?> entityClass)
entityClass - public SQLBuilder join(Class<?> entityClass, String alias)
entityClass - alias - public SQLBuilder innerJoin(String expr)
expr - public SQLBuilder innerJoin(Class<?> entityClass)
entityClass - public SQLBuilder innerJoin(Class<?> entityClass, String alias)
entityClass - alias - public SQLBuilder leftJoin(String expr)
expr - public SQLBuilder leftJoin(Class<?> entityClass)
entityClass - public SQLBuilder leftJoin(Class<?> entityClass, String alias)
entityClass - alias - public SQLBuilder rightJoin(String expr)
expr - public SQLBuilder rightJoin(Class<?> entityClass)
entityClass - public SQLBuilder rightJoin(Class<?> entityClass, String alias)
entityClass - alias - public SQLBuilder fullJoin(String expr)
expr - public SQLBuilder fullJoin(Class<?> entityClass)
entityClass - public SQLBuilder fullJoin(Class<?> entityClass, String alias)
entityClass - alias - public SQLBuilder crossJoin(String expr)
expr - public SQLBuilder crossJoin(Class<?> entityClass)
entityClass - public SQLBuilder crossJoin(Class<?> entityClass, String alias)
entityClass - alias - public SQLBuilder naturalJoin(String expr)
expr - public SQLBuilder naturalJoin(Class<?> entityClass)
entityClass - public SQLBuilder naturalJoin(Class<?> entityClass, String alias)
entityClass - alias - public SQLBuilder on(String expr)
expr - public SQLBuilder on(Condition cond)
cond - any literal written in Expression condition won't be formalizedpublic SQLBuilder using(String expr)
expr - public SQLBuilder where(String expr)
expr - public SQLBuilder where(Condition cond)
public SQLBuilder groupBy(String expr)
expr - @SafeVarargs public final SQLBuilder groupBy(String... columnNames)
columnNames - public SQLBuilder groupBy(String columnName, SortDirection direction)
columnName - direction - public SQLBuilder groupBy(Collection<String> columnNames)
columnNames - public SQLBuilder groupBy(Collection<String> columnNames, SortDirection direction)
columnNames - direction - public SQLBuilder groupBy(Map<String,SortDirection> orders)
orders - public SQLBuilder having(String expr)
expr - public SQLBuilder having(Condition cond)
cond - any literal written in Expression condition won't be formalizedpublic SQLBuilder orderBy(String expr)
expr - @SafeVarargs public final SQLBuilder orderBy(String... columnNames)
columnNames - public SQLBuilder orderBy(String columnName, SortDirection direction)
columnName - direction - public SQLBuilder orderBy(Collection<String> columnNames)
columnNames - public SQLBuilder orderBy(Collection<String> columnNames, SortDirection direction)
columnNames - direction - public SQLBuilder orderBy(Map<String,SortDirection> orders)
orders - public SQLBuilder limit(int count)
count - public SQLBuilder limit(int offset, int count)
offset - count - public SQLBuilder offset(int offset)
offset - public SQLBuilder fetchNextNRowsOnly(int count)
public SQLBuilder fetchFirstNRowsOnly(int count)
public SQLBuilder append(Condition cond)
public SQLBuilder append(String expr)
public SQLBuilder union(SQLBuilder sqlBuilder)
sqlBuilder - public SQLBuilder union(String query)
query - @SafeVarargs public final SQLBuilder union(String... columnNames)
columnNames - public SQLBuilder union(Collection<String> columnNames)
columnNames - public SQLBuilder unionAll(SQLBuilder sqlBuilder)
sqlBuilder - public SQLBuilder unionAll(String query)
query - @SafeVarargs public final SQLBuilder unionAll(String... columnNames)
columnNames - public SQLBuilder unionAll(Collection<String> columnNames)
columnNames - public SQLBuilder intersect(SQLBuilder sqlBuilder)
sqlBuilder - public SQLBuilder intersect(String query)
query - @SafeVarargs public final SQLBuilder intersect(String... columnNames)
columnNames - public SQLBuilder intersect(Collection<String> columnNames)
columnNames - public SQLBuilder except(SQLBuilder sqlBuilder)
sqlBuilder - public SQLBuilder except(String query)
query - @SafeVarargs public final SQLBuilder except(String... columnNames)
columnNames - public SQLBuilder except(Collection<String> columnNames)
columnNames - public SQLBuilder minus(SQLBuilder sqlBuilder)
sqlBuilder - public SQLBuilder minus(String query)
query - @SafeVarargs public final SQLBuilder minus(String... columnNames)
columnNames - public SQLBuilder minus(Collection<String> columnNames)
columnNames - public SQLBuilder forUpdate()
public SQLBuilder set(String expr)
expr - @SafeVarargs public final SQLBuilder set(String... columnNames)
columnNames - public SQLBuilder set(Collection<String> columnNames)
columnNames - public SQLBuilder set(Map<String,Object> props)
props - public SQLBuilder set(Object entity)
entity - public SQLBuilder set(Object entity, Set<String> excludedPropNames)
entity - excludedPropNames - public SQLBuilder set(Class<?> entityClass)
entityClass - public SQLBuilder set(Class<?> entityClass, Set<String> excludedPropNames)
entityClass - excludedPropNames - public String sql()
sql() is called.public SQLBuilder.SP pair()
pair() is called.public <T,E extends Exception> T apply(Throwables.Function<? super SQLBuilder.SP,T,E> func) throws E extends Exception
E extends Exceptionpublic <T,E extends Exception> T apply(Throwables.BiFunction<? super String,? super List<Object>,T,E> func) throws E extends Exception
E extends Exceptionpublic <E extends Exception> void accept(Throwables.Consumer<? super SQLBuilder.SP,E> consumer) throws E extends Exception
E extends Exceptionpublic <E extends Exception> void accept(Throwables.BiConsumer<? super String,? super List<Object>,E> consumer) throws E extends Exception
E extends Exceptionpublic void println()
Copyright © 2021. All rights reserved.