Package com.landawn.abacus.jdbc
Class SQLExecutor
java.lang.Object
com.landawn.abacus.jdbc.SQLExecutor
SQLExecutor is a simple sql/jdbc utility class. SQL is supported with different format:
All these kinds of SQLs can be generated by
========================================================================
If
Transaction can be started:
INSERT INTO account (first_name, last_name, gui, last_update_time, create_time) VALUES (?, ?, ?, ?, ?)
INSERT INTO account (first_name, last_name, gui, last_update_time, create_time) VALUES (#{firstName}, #{lastName}, #{gui}, #{lastUpdateTime}, #{createTime})
INSERT INTO account (first_name, last_name, gui, last_update_time, create_time) VALUES (:firstName, :lastName, :gui, :lastUpdateTime, :createTime)
SQLBuilder
conveniently. Parameters with format of Object[]/List parameters are supported for parameterized SQL(id = ?
).
Parameters with format of Object[]/List/Map/Entity are supported for named parameterized SQL(id = :id
).
DO NOT use primitive array boolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.
Here is sample of CRUD(create/read/update/delete):
========================================================================
static final DataSource dataSource = JdbcUtil.createDataSource(...);
static final SQLExecutor sqlExecutor = new SQLExecutor(dataSource);
...
Account account = createAccount();
// create
String sql_insert = NE.insert(GUI, FIRST_NAME, LAST_NAME, LAST_UPDATE_TIME, CREATE_TIME).into(Account.class).sql();
N.println(sql_insert);
sqlExecutor.insert(sql_insert, account);
// read
String sql_selectByGUI = NE.selectFrom(Account.class, N.asSet(DEVICES)).where(L.eq(GUI, L.QME)).sql();
N.println(sql_selectByGUI);
Account dbAccount = sqlExecutor.findFirst(Account.class, sql_selectByGUI, account);
assertEquals(account.getFirstName(), dbAccount.getFirstName());
// update
String sql_updateByLastName = NE.update(Account.class).set(FIRST_NAME).where(L.eq(LAST_NAME, L.QME)).sql();
N.println(sql_updateByLastName);
dbAccount.setFirstName("newFirstName");
sqlExecutor.update(sql_updateByLastName, dbAccount);
// delete
String sql_deleteByFirstName = NE.deleteFrom(Account.class).where(L.eq(FIRST_NAME, L.QME)).sql();
N.println(sql_deleteByFirstName);
sqlExecutor.update(sql_deleteByFirstName, dbAccount);
dbAccount = sqlExecutor.findFirst(Account.class, sql_selectByGUI, account);
assertNull(dbAccount);
========================================================================
If
conn
argument is null or not specified, SQLExecutor
is responsible to get the connection from the
internal DataSource
, start and commit/roll back transaction for batch operations if needed, and close the
connection finally. otherwise it's user's responsibility to do such jobs if conn
is specified and not null. Transaction can be started:
final SQLTransaction tran = sqlExecutor.beginTransaction(IsolationLevel.READ_COMMITTED);
try {
// sqlExecutor.insert(...);
// sqlExecutor.update(...);
// sqlExecutor.query(...);
tran.commit();
} finally {
// The connection will be automatically closed after the transaction is committed or rolled back.
tran.rollbackIfNotCommitted();
}
Spring Transaction is also supported and Integrated.
If a method of this class is called where a Spring transaction is started with the DataSource
inside this SQLExecutor
, without Connection
parameter specified,
the Connection
started the Spring Transaction will be used. Otherwise a Connection
directly from the inside DataSource
(Connection pool) will be borrowed and used.
SQLExecutor is tread-safe.- Since:
- 0.8
- Author:
- Haiyang Li
- See Also:
-
- JdbcUtil
ReadOnly
ReadOnlyId
NonUpdatable
Transient
Table
Column
ConditionFactory
ConditionFactory.CF
- http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html
- http://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html
- http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html
- http://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Refer to http://landawn.com/introduction-to-jdbc.html about how to set parameters injava.sql.PreparedStatement
-
Constructor Summary
ConstructorDescriptionSQLExecutor
(DataSource dataSource) Instantiates a new SQL executor.SQLExecutor
(DataSource dataSource, JdbcSettings jdbcSettings) Instantiates a new SQL executor.SQLExecutor
(DataSource dataSource, JdbcSettings jdbcSettings, com.landawn.abacus.util.SQLMapper sqlMapper) Instantiates a new SQL executor. -
Method Summary
Modifier and TypeMethodDescription<ID> List<ID>
batchInsert
(String sql, JdbcSettings jdbcSettings, List<?> parametersList) <ID> List<ID>
batchInsert
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<ID> autoGeneratedKeyExtractor, JdbcSettings jdbcSettings, List<?> parametersList) <ID> List<ID>
batchInsert
(String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, List<?> parametersList) <ID> List<ID>
batchInsert
(String sql, SQLExecutor.StatementSetter statementSetter, List<?> parametersList) <ID> List<ID>
batchInsert
(String sql, List<?> parametersList) <ID> List<ID>
batchInsert
(Connection conn, String sql, JdbcSettings jdbcSettings, List<?> parametersList) <ID> List<ID>
batchInsert
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<ID> autoGeneratedKeyExtractor, JdbcSettings jdbcSettings, List<?> parametersList) <ID> List<ID>
batchInsert
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, List<?> parametersList) <ID> List<ID>
batchInsert
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, List<?> parametersList) <ID> List<ID>
batchInsert
(Connection conn, String sql, List<?> parametersList) int
batchUpdate
(String sql, JdbcSettings jdbcSettings, List<?> parametersList) int
batchUpdate
(String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, List<?> parametersList) int
batchUpdate
(String sql, SQLExecutor.StatementSetter statementSetter, List<?> parametersList) int
batchUpdate
(String sql, List<?> parametersList) int
batchUpdate
(Connection conn, String sql, JdbcSettings jdbcSettings, List<?> parametersList) int
batchUpdate
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, List<?> parametersList) int
batchUpdate
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, List<?> parametersList) int
batchUpdate
(Connection conn, String sql, List<?> parametersList) Refer tobeginTransaction(IsolationLevel, boolean, JdbcSettings)
.beginTransaction
(boolean forUpdateOnly) Refer tobeginTransaction(IsolationLevel, boolean, JdbcSettings)
.beginTransaction
(IsolationLevel isolationLevel) Refer tobeginTransaction(IsolationLevel, boolean, JdbcSettings)
.beginTransaction
(IsolationLevel isolationLevel, boolean forUpdateOnly) Refer tobeginTransaction(IsolationLevel, boolean, JdbcSettings)
.beginTransaction
(IsolationLevel isolationLevel, boolean forUpdateOnly, JdbcSettings jdbcSettings) If this method is called where a transaction is started byJdbcUtil.beginTransaction
or inSpring
with the sameDataSource
in the same thread, theConnection
started the Transaction will be used here.void
closeConnection
(Connection conn) static SQLExecutor
static SQLExecutor
create
(DataSource dataSource) boolean
createTableIfNotExists
(String tableName, String schema) Returnstrue
if succeed to create table, otherwisefalse
is returned.boolean
doesTableExist
(String tableName) Does table exist.boolean
dropTableIfExists
(String tableName) Returnstrue
if succeed to drop table, otherwisefalse
is returned.final boolean
final boolean
execute
(Connection conn, String sql, Object... parameters) Execute the sql with the specified parameters.final boolean
final boolean
exists
(Connection conn, String sql, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(Class<T> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(Class<T> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Just fetch the result in the 1st row.final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(Class<T> targetClass, Connection conn, String sql, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Remember to addlimit
condition if big result will be returned by the query.final <T> com.landawn.abacus.util.u.Optional<T>
findFirst
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(Class<T> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
final <T> com.landawn.abacus.util.u.Optional<T>
get
(Class<T> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(Class<T> targetClass, Connection conn, String sql, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> com.landawn.abacus.util.u.Optional<T>
get
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) com.landawn.abacus.util.ImmutableList<String>
getColumnNameList
(String tableName) Gets the column name list.Gets the connection.final <T> T
gett
(Class<T> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) final <T> T
gett
(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final <T> T
gett
(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final <T> T
final <T> T
gett
(Class<T> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) final <T> T
gett
(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final <T> T
gett
(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final <T> T
gett
(Class<T> targetClass, Connection conn, String sql, Object... parameters) final <T> T
gett
(String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> T
gett
(String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) final <T> T
gett
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> T
gett
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) final <T> T
gett
(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> T
gett
(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) final <T> T
gett
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> T
gett
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) final <ID> ID
insert
(String sql, JdbcSettings jdbcSettings, Object... parameters) final <ID> ID
insert
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<ID> autoGeneratedKeyExtractor, JdbcSettings jdbcSettings, Object... parameters) final <ID> ID
insert
(String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final <ID> ID
insert
(String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final <ID> ID
final <ID> ID
insert
(Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) final <ID> ID
insert
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<ID> autoGeneratedKeyExtractor, JdbcSettings jdbcSettings, Object... parameters) final <ID> ID
insert
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final <ID> ID
insert
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final <ID> ID
insert
(Connection conn, String sql, Object... parameters) Deprecated.final <T> List<T>
list
(Class<T> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) final <T> List<T>
list
(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final <T> List<T>
list
(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final <T> List<T>
final <T> List<T>
list
(Class<T> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) final <T> List<T>
list
(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final <T> List<T>
list
(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final <T> List<T>
list
(Class<T> targetClass, Connection conn, String sql, Object... parameters) final <T> List<T>
list
(String sql, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> List<T>
list
(String sql, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) final <T> List<T>
list
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> List<T>
list
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) final <T> List<T>
list
(Connection conn, String sql, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> List<T>
list
(Connection conn, String sql, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) final <T> List<T>
list
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) final <T> List<T>
list
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) final <T> List<T>
Execute the query in one or more data sources specified byjdbcSettings
and merge the results.final <T> List<T>
listAll
(Class<T> targetClass, List<String> sqls, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Execute the query in one or more data sources specified byjdbcSettings
and merge the results.final <T> List<T>
listAll
(List<String> sqls, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results.final <T> List<T>
listAll
(List<String> sqls, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results.final boolean
final boolean
notExists
(Connection conn, String sql, Object... parameters) final <T> T
query
(String sql, Jdbc.ResultExtractor<T> resultExtractor, JdbcSettings jdbcSettings, Object... parameters) final <T> T
query
(String sql, Jdbc.ResultExtractor<T> resultExtractor, Object... parameters) final com.landawn.abacus.util.DataSet
query
(String sql, JdbcSettings jdbcSettings, Object... parameters) final <T> T
query
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.ResultExtractor<T> resultExtractor, JdbcSettings jdbcSettings, Object... parameters) Remember to close theResultSet
,Statement
andConnection
if the return typeT
isResultSet
orRowIterator
.final <T> T
query
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.ResultExtractor<T> resultExtractor, Object... parameters) final com.landawn.abacus.util.DataSet
query
(String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final com.landawn.abacus.util.DataSet
query
(String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final com.landawn.abacus.util.DataSet
final <T> T
query
(Connection conn, String sql, Jdbc.ResultExtractor<T> resultExtractor, JdbcSettings jdbcSettings, Object... parameters) final <T> T
query
(Connection conn, String sql, Jdbc.ResultExtractor<T> resultExtractor, Object... parameters) final com.landawn.abacus.util.DataSet
query
(Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) final <T> T
query
(Connection inputConn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.ResultExtractor<T> resultExtractor, JdbcSettings jdbcSettings, Object... parameters) Remember to close theResultSet
,Statement
andConnection
if the return typeT
isResultSet
orRowIterator
.final <T> T
query
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.ResultExtractor<T> resultExtractor, Object... parameters) final com.landawn.abacus.util.DataSet
query
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final com.landawn.abacus.util.DataSet
query
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final com.landawn.abacus.util.DataSet
query
(Connection conn, String sql, Object... parameters) final com.landawn.abacus.util.DataSet
queryAll
(List<String> sqls, JdbcSettings jdbcSettings, Object... parameters) Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results.final com.landawn.abacus.util.DataSet
queryAll
(List<String> sqls, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results.final com.landawn.abacus.util.u.Nullable<BigDecimal>
queryForBigDecimal
(String sql, Object... parameters) Query for big decimal.final com.landawn.abacus.util.u.OptionalBoolean
queryForBoolean
(String sql, Object... parameters) Query for boolean.final com.landawn.abacus.util.u.OptionalByte
queryForByte
(String sql, Object... parameters) Query for byte.final com.landawn.abacus.util.u.OptionalChar
queryForChar
(String sql, Object... parameters) Query for char.final com.landawn.abacus.util.u.Nullable<Date>
queryForDate
(String sql, Object... parameters) Query for date.final com.landawn.abacus.util.u.OptionalDouble
queryForDouble
(String sql, Object... parameters) Query for double.final com.landawn.abacus.util.u.OptionalFloat
queryForFloat
(String sql, Object... parameters) Query for float.final com.landawn.abacus.util.u.OptionalInt
queryForInt
(String sql, Object... parameters) Query for int.final com.landawn.abacus.util.u.OptionalLong
queryForLong
(String sql, Object... parameters) Query for long.final com.landawn.abacus.util.u.OptionalShort
queryForShort
(String sql, Object... parameters) Query for short.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForSingleResult
(Class<V> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) Query for single result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForSingleResult
(Class<V> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Query for single result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForSingleResult
(Class<V> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) Query for single result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForSingleResult
(Class<V> targetClass, String sql, Object... parameters) Query for single result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForSingleResult
(Class<V> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) Query for single result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForSingleResult
(Class<V> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Returns aNullable
describing the value in the first row/column if it exists, otherwise return an emptyNullable
.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForSingleResult
(Class<V> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) Query for single result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForSingleResult
(Class<V> targetClass, Connection conn, String sql, Object... parameters) Query for single result.final com.landawn.abacus.util.u.Nullable<String>
queryForString
(String sql, Object... parameters) Query for string.final com.landawn.abacus.util.u.Nullable<Time>
queryForTime
(String sql, Object... parameters) Query for time.final com.landawn.abacus.util.u.Nullable<Timestamp>
queryForTimestamp
(String sql, Object... parameters) Query for timestamp.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForUniqueResult
(Class<V> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) Query for unique result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForUniqueResult
(Class<V> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Query for unique result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForUniqueResult
(Class<V> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) Query for unique result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForUniqueResult
(Class<V> targetClass, String sql, Object... parameters) Query for unique result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForUniqueResult
(Class<V> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) Query for unique result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForUniqueResult
(Class<V> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Returns aNullable
describing the value in the first row/column if it exists, otherwise return an emptyNullable
.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForUniqueResult
(Class<V> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) Query for unique result.final <V> com.landawn.abacus.util.u.Nullable<V>
queryForUniqueResult
(Class<V> targetClass, Connection conn, String sql, Object... parameters) Query for unique result.final <T> com.landawn.abacus.util.stream.Stream<T>
stream
(Class<T> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching.final <T> com.landawn.abacus.util.stream.Stream<T>
stream
(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching.final <T> com.landawn.abacus.util.stream.Stream<T>
stream
(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) Lazy execution, lazy fetching.final <T> com.landawn.abacus.util.stream.Stream<T>
Lazy execution, lazy fetching.final <T> com.landawn.abacus.util.stream.Stream<T>
stream
(String sql, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching.final <T> com.landawn.abacus.util.stream.Stream<T>
stream
(String sql, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) Lazy execution, lazy fetching.final <T> com.landawn.abacus.util.stream.Stream<T>
stream
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching.final <T> com.landawn.abacus.util.stream.Stream<T>
stream
(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) Lazy execution, lazy fetching.final <T> com.landawn.abacus.util.stream.Stream<T>
Lazy execution, lazy fetching.final <T> com.landawn.abacus.util.stream.Stream<T>
streamAll
(Class<T> targetClass, List<String> sqls, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching.final <T> com.landawn.abacus.util.stream.Stream<T>
streamAll
(List<String> sqls, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching.final <T> com.landawn.abacus.util.stream.Stream<T>
streamAll
(List<String> sqls, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching.final int
update
(String sql, JdbcSettings jdbcSettings, Object... parameters) final int
update
(String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final int
update
(String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final int
final int
update
(Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) final int
update
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) final int
update
(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) final int
update
(Connection conn, String sql, Object... parameters)
-
Constructor Details
-
SQLExecutor
Instantiates a new SQL executor.- Parameters:
dataSource
-- See Also:
-
JdbcUtil#createDataSource(String)
JdbcUtil#createDataSource(java.io.InputStream)
-
SQLExecutor
Instantiates a new SQL executor.- Parameters:
dataSource
-jdbcSettings
-- See Also:
-
JdbcUtil#createDataSource(String)
JdbcUtil#createDataSource(java.io.InputStream)
-
SQLExecutor
public SQLExecutor(DataSource dataSource, JdbcSettings jdbcSettings, com.landawn.abacus.util.SQLMapper sqlMapper) Instantiates a new SQL executor.- Parameters:
dataSource
-jdbcSettings
-sqlMapper
-- See Also:
-
JdbcUtil#createDataSource(String)
JdbcUtil#createDataSource(java.io.InputStream)
-
-
Method Details
-
create
- Parameters:
url
-user
-password
-- Returns:
-
create
- Parameters:
driverClass
-url
-user
-password
-- Returns:
-
dataSource
- Returns:
-
jdbcSettings
Deprecated.should not update the returnedJdbcSettings
- Returns:
-
insert
@SafeVarargs public final <ID> ID insert(String sql, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
sql
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
insert
@SafeVarargs public final <ID> ID insert(String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
sql
-statementSetter
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
insert
@SafeVarargs public final <ID> ID insert(String sql, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
sql
-jdbcSettings
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
insert
@SafeVarargs public final <ID> ID insert(String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
sql
-statementSetter
-jdbcSettings
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
insert
@SafeVarargs public final <ID> ID insert(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<ID> autoGeneratedKeyExtractor, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
sql
-statementSetter
-autoGeneratedKeyExtractor
-jdbcSettings
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
insert
@SafeVarargs public final <ID> ID insert(Connection conn, String sql, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
conn
-sql
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
insert
@SafeVarargs public final <ID> ID insert(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
conn
-sql
-statementSetter
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
insert
public final <ID> ID insert(Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
conn
-sql
-jdbcSettings
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
insert
@SafeVarargs public final <ID> ID insert(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
conn
-sql
-statementSetter
-jdbcSettings
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
insert
@SafeVarargs public final <ID> ID insert(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<ID> autoGeneratedKeyExtractor, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
conn
-sql
-statementSetter
-autoGeneratedKeyExtractor
-jdbcSettings
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception- See Also:
-
#batchInsert(Connection, String, StatementSetter, JdbcSettings, String, Object[])
-
batchInsert
public <ID> List<ID> batchInsert(String sql, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
sql
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchInsert
public <ID> List<ID> batchInsert(String sql, SQLExecutor.StatementSetter statementSetter, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
sql
-statementSetter
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchInsert
public <ID> List<ID> batchInsert(String sql, JdbcSettings jdbcSettings, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
sql
-jdbcSettings
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchInsert
public <ID> List<ID> batchInsert(String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
sql
-statementSetter
-jdbcSettings
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchInsert
public <ID> List<ID> batchInsert(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<ID> autoGeneratedKeyExtractor, JdbcSettings jdbcSettings, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
sql
-statementSetter
-autoGeneratedKeyExtractor
-jdbcSettings
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchInsert
public <ID> List<ID> batchInsert(Connection conn, String sql, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
conn
-sql
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchInsert
public <ID> List<ID> batchInsert(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
conn
-sql
-statementSetter
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchInsert
public <ID> List<ID> batchInsert(Connection conn, String sql, JdbcSettings jdbcSettings, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
conn
-sql
-jdbcSettings
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchInsert
public <ID> List<ID> batchInsert(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
conn
-sql
-statementSetter
-jdbcSettings
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchInsert
public <ID> List<ID> batchInsert(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<ID> autoGeneratedKeyExtractor, JdbcSettings jdbcSettings, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Type Parameters:
ID
-- Parameters:
conn
-sql
-statementSetter
-autoGeneratedKeyExtractor
-jdbcSettings
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
update
@SafeVarargs public final int update(String sql, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
sql
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
update
@SafeVarargs public final int update(String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
sql
-statementSetter
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
update
@SafeVarargs public final int update(String sql, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
sql
-jdbcSettings
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
update
@SafeVarargs public final int update(String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
sql
-statementSetter
-jdbcSettings
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
update
@SafeVarargs public final int update(Connection conn, String sql, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
conn
-sql
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
update
@SafeVarargs public final int update(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
conn
-sql
-statementSetter
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
update
@SafeVarargs public final int update(Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
conn
-sql
-jdbcSettings
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
update
@SafeVarargs public final int update(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
conn
-sql
-statementSetter
-jdbcSettings
-parameters
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception- See Also:
-
#batchUpdate(Connection, String, StatementSetter, JdbcSettings, Object[])
-
batchUpdate
public int batchUpdate(String sql, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
sql
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchUpdate
public int batchUpdate(String sql, SQLExecutor.StatementSetter statementSetter, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
sql
-statementSetter
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchUpdate
public int batchUpdate(String sql, JdbcSettings jdbcSettings, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
sql
-jdbcSettings
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchUpdate
public int batchUpdate(String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
sql
-statementSetter
-jdbcSettings
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchUpdate
public int batchUpdate(Connection conn, String sql, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
conn
-sql
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchUpdate
public int batchUpdate(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
conn
-sql
-statementSetter
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchUpdate
public int batchUpdate(Connection conn, String sql, JdbcSettings jdbcSettings, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
conn
-sql
-jdbcSettings
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
batchUpdate
public int batchUpdate(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, List<?> parametersList) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
conn
-sql
-statementSetter
-jdbcSettings
-parametersList
-- Returns:
- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception- See Also:
-
#batchUpdate(Connection, String, StatementSetter, JdbcSettings, Object[])
-
exists
- Parameters:
sql
-parameters
-- Returns:
- true, if successful
-
exists
- Parameters:
conn
-sql
-parameters
-- Returns:
- true, if successful
-
notExists
- Parameters:
sql
-parameters
-- Returns:
- true, if successful
-
notExists
@Beta @SafeVarargs public final boolean notExists(Connection conn, String sql, Object... parameters) - Parameters:
conn
-sql
-parameters
-- Returns:
- true, if successful
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Class<T> targetClass, String sql, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-sql
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-sql
-statementSetter
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Class<T> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-sql
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-sql
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Class<T> targetClass, Connection conn, String sql, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-statementSetter
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Class<T> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
sql
-rowMapper
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
public final <T> com.landawn.abacus.util.u.Optional<T> get(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
sql
-statementSetter
-rowMapper
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
public final <T> com.landawn.abacus.util.u.Optional<T> get(String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
sql
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
sql
-statementSetter
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
conn
-sql
-rowMapper
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) - Type Parameters:
T
-- Parameters:
conn
-sql
-statementSetter
-rowMapper
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
conn
-sql
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
get
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> get(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
conn
-sql
-statementSetter
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(Class<T> targetClass, String sql, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-sql
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-sql
-statementSetter
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(Class<T> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-sql
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-sql
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(Class<T> targetClass, Connection conn, String sql, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-statementSetter
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(Class<T> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
sql
-rowMapper
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
sql
-statementSetter
-rowMapper
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
sql
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
sql
-statementSetter
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
conn
-sql
-rowMapper
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
public final <T> T gett(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
conn
-sql
-statementSetter
-rowMapper
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
public final <T> T gett(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
conn
-sql
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
gett
@SafeVarargs public final <T> T gett(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException - Type Parameters:
T
-- Parameters:
conn
-sql
-statementSetter
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Class<T> targetClass, String sql, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-sql
-parameters
-- Returns:
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-sql
-statementSetter
-parameters
-- Returns:
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Class<T> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-sql
-jdbcSettings
-parameters
-- Returns:
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-sql
-statementSetter
-jdbcSettings
-parameters
-- Returns:
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Class<T> targetClass, Connection conn, String sql, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-parameters
-- Returns:
-
findFirst
public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-statementSetter
-parameters
-- Returns:
-
findFirst
public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Class<T> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-jdbcSettings
-parameters
-- Returns:
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Just fetch the result in the 1st row.null
is returned if no result is found. This method will try to convert the column value to the type of mapping entity property if the mapping entity property is not assignable from column value. Remember to addlimit
condition if big result will be returned by the query.- Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) - Type Parameters:
T
-- Parameters:
sql
-rowMapper
-parameters
-- Returns:
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) - Type Parameters:
T
-- Parameters:
sql
-statementSetter
-rowMapper
-parameters
-- Returns:
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
sql
-rowMapper
-jdbcSettings
-parameters
-- Returns:
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
sql
-statementSetter
-rowMapper
-jdbcSettings
-parameters
-- Returns:
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, Object... parameters) - Type Parameters:
T
-- Parameters:
conn
-sql
-rowMapper
-parameters
-- Returns:
-
findFirst
public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, Object... parameters) - Type Parameters:
T
-- Parameters:
conn
-sql
-statementSetter
-rowMapper
-parameters
-- Returns:
-
findFirst
public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Connection conn, String sql, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
conn
-sql
-rowMapper
-jdbcSettings
-parameters
-- Returns:
-
findFirst
@SafeVarargs public final <T> com.landawn.abacus.util.u.Optional<T> findFirst(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.RowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Remember to addlimit
condition if big result will be returned by the query.- Type Parameters:
T
-- Parameters:
conn
-sql
-statementSetter
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
list
- Type Parameters:
T
-- Parameters:
targetClass
-sql
-parameters
-- Returns:
-
list
@SafeVarargs public final <T> List<T> list(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-sql
-statementSetter
-parameters
-- Returns:
-
list
@SafeVarargs public final <T> List<T> list(Class<T> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-sql
-jdbcSettings
-parameters
-- Returns:
-
list
@SafeVarargs public final <T> List<T> list(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-sql
-statementSetter
-jdbcSettings
-parameters
-- Returns:
-
list
@SafeVarargs public final <T> List<T> list(Class<T> targetClass, Connection conn, String sql, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-parameters
-- Returns:
-
list
public final <T> List<T> list(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-statementSetter
-parameters
-- Returns:
-
list
public final <T> List<T> list(Class<T> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-jdbcSettings
-parameters
-- Returns:
-
list
@SafeVarargs public final <T> List<T> list(Class<T> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
targetClass
-conn
-sql
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
list
@SafeVarargs public final <T> List<T> list(String sql, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) - Type Parameters:
T
-- Parameters:
sql
-rowMapper
-parameters
-- Returns:
-
list
@SafeVarargs public final <T> List<T> list(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) - Type Parameters:
T
-- Parameters:
sql
-statementSetter
-rowMapper
-parameters
-- Returns:
-
list
@SafeVarargs public final <T> List<T> list(String sql, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
sql
-rowMapper
-jdbcSettings
-parameters
-- Returns:
-
list
@SafeVarargs public final <T> List<T> list(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
sql
-statementSetter
-rowMapper
-jdbcSettings
-parameters
-- Returns:
-
list
@SafeVarargs public final <T> List<T> list(Connection conn, String sql, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) - Type Parameters:
T
-- Parameters:
conn
-sql
-rowMapper
-parameters
-- Returns:
-
list
public final <T> List<T> list(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) - Type Parameters:
T
-- Parameters:
conn
-sql
-statementSetter
-rowMapper
-parameters
-- Returns:
-
list
public final <T> List<T> list(Connection conn, String sql, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
conn
-sql
-rowMapper
-jdbcSettings
-parameters
-- Returns:
-
list
@SafeVarargs public final <T> List<T> list(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
conn
-sql
-statementSetter
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
listAll
@SafeVarargs public final <T> List<T> listAll(Class<T> targetClass, List<String> sqls, JdbcSettings jdbcSettings, Object... parameters) Execute the query in one or more data sources specified byjdbcSettings
and merge the results. It's designed for partition.- Type Parameters:
T
-- Parameters:
targetClass
-sqls
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
listAll
@SafeVarargs public final <T> List<T> listAll(Class<T> targetClass, List<String> sqls, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Execute the query in one or more data sources specified byjdbcSettings
and merge the results. It's designed for partition.- Type Parameters:
T
-- Parameters:
targetClass
-sqls
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
listAll
@SafeVarargs public final <T> List<T> listAll(List<String> sqls, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results. It's designed for partition.- Type Parameters:
T
-- Parameters:
sqls
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
listAll
@SafeVarargs public final <T> List<T> listAll(List<String> sqls, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results. It's designed for partition.- Type Parameters:
T
-- Parameters:
sqls
-statementSetter
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
queryForBoolean
@SafeVarargs public final com.landawn.abacus.util.u.OptionalBoolean queryForBoolean(String sql, Object... parameters) Query for boolean.- Parameters:
sql
-parameters
-- Returns:
-
queryForChar
@SafeVarargs public final com.landawn.abacus.util.u.OptionalChar queryForChar(String sql, Object... parameters) Query for char.- Parameters:
sql
-parameters
-- Returns:
-
queryForByte
@SafeVarargs public final com.landawn.abacus.util.u.OptionalByte queryForByte(String sql, Object... parameters) Query for byte.- Parameters:
sql
-parameters
-- Returns:
-
queryForShort
@SafeVarargs public final com.landawn.abacus.util.u.OptionalShort queryForShort(String sql, Object... parameters) Query for short.- Parameters:
sql
-parameters
-- Returns:
-
queryForInt
@SafeVarargs public final com.landawn.abacus.util.u.OptionalInt queryForInt(String sql, Object... parameters) Query for int.- Parameters:
sql
-parameters
-- Returns:
-
queryForLong
@SafeVarargs public final com.landawn.abacus.util.u.OptionalLong queryForLong(String sql, Object... parameters) Query for long.- Parameters:
sql
-parameters
-- Returns:
-
queryForFloat
@SafeVarargs public final com.landawn.abacus.util.u.OptionalFloat queryForFloat(String sql, Object... parameters) Query for float.- Parameters:
sql
-parameters
-- Returns:
-
queryForDouble
@SafeVarargs public final com.landawn.abacus.util.u.OptionalDouble queryForDouble(String sql, Object... parameters) Query for double.- Parameters:
sql
-parameters
-- Returns:
-
queryForBigDecimal
@SafeVarargs public final com.landawn.abacus.util.u.Nullable<BigDecimal> queryForBigDecimal(String sql, Object... parameters) Query for big decimal.- Parameters:
sql
-parameters
-- Returns:
-
queryForString
@SafeVarargs public final com.landawn.abacus.util.u.Nullable<String> queryForString(String sql, Object... parameters) Query for string.- Parameters:
sql
-parameters
-- Returns:
-
queryForDate
@SafeVarargs public final com.landawn.abacus.util.u.Nullable<Date> queryForDate(String sql, Object... parameters) Query for date.- Parameters:
sql
-parameters
-- Returns:
-
queryForTime
@SafeVarargs public final com.landawn.abacus.util.u.Nullable<Time> queryForTime(String sql, Object... parameters) Query for time.- Parameters:
sql
-parameters
-- Returns:
-
queryForTimestamp
@SafeVarargs public final com.landawn.abacus.util.u.Nullable<Timestamp> queryForTimestamp(String sql, Object... parameters) Query for timestamp.- Parameters:
sql
-parameters
-- Returns:
-
queryForSingleResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForSingleResult(Class<V> targetClass, String sql, Object... parameters) Query for single result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-sql
-parameters
-- Returns:
-
queryForSingleResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForSingleResult(Class<V> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) Query for single result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-sql
-statementSetter
-parameters
-- Returns:
-
queryForSingleResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForSingleResult(Class<V> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) Query for single result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-sql
-jdbcSettings
-parameters
-- Returns:
-
queryForSingleResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForSingleResult(Class<V> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Query for single result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-sql
-statementSetter
-jdbcSettings
-parameters
-- Returns:
-
queryForSingleResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForSingleResult(Class<V> targetClass, Connection conn, String sql, Object... parameters) Query for single result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-conn
-sql
-parameters
-- Returns:
-
queryForSingleResult
public final <V> com.landawn.abacus.util.u.Nullable<V> queryForSingleResult(Class<V> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) Query for single result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-conn
-sql
-statementSetter
-parameters
-- Returns:
-
queryForSingleResult
public final <V> com.landawn.abacus.util.u.Nullable<V> queryForSingleResult(Class<V> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) Query for single result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-conn
-sql
-jdbcSettings
-parameters
-- Returns:
-
queryForSingleResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForSingleResult(Class<V> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Returns aNullable
describing the value in the first row/column if it exists, otherwise return an emptyNullable
.
Special note for type conversion forboolean
orBoolean
type:true
is returned if theString
value of the target column is"true"
, case insensitive. or it's an integer with value > 0. Otherwise,false
is returned. Remember to addlimit
condition if big result will be returned by the query.- Type Parameters:
V
- the value type- Parameters:
targetClass
- set result type to avoid the NullPointerException if result is null and T is primitive type "int, long. short ... char, boolean..".conn
-sql
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
queryForUniqueResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForUniqueResult(Class<V> targetClass, String sql, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException Query for unique result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-sql
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
queryForUniqueResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForUniqueResult(Class<V> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException Query for unique result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-sql
-statementSetter
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
queryForUniqueResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForUniqueResult(Class<V> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException Query for unique result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-sql
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
queryForUniqueResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForUniqueResult(Class<V> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException Query for unique result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-sql
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
queryForUniqueResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForUniqueResult(Class<V> targetClass, Connection conn, String sql, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException Query for unique result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-conn
-sql
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
queryForUniqueResult
public final <V> com.landawn.abacus.util.u.Nullable<V> queryForUniqueResult(Class<V> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException Query for unique result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-conn
-sql
-statementSetter
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
queryForUniqueResult
public final <V> com.landawn.abacus.util.u.Nullable<V> queryForUniqueResult(Class<V> targetClass, Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException Query for unique result.- Type Parameters:
V
- the value type- Parameters:
targetClass
-conn
-sql
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if two or more records are found.
-
queryForUniqueResult
@SafeVarargs public final <V> com.landawn.abacus.util.u.Nullable<V> queryForUniqueResult(Class<V> targetClass, Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) throws com.landawn.abacus.exception.DuplicatedResultException Returns aNullable
describing the value in the first row/column if it exists, otherwise return an emptyNullable
. And throwsDuplicatedResultException
if more than one record found.
Special note for type conversion forboolean
orBoolean
type:true
is returned if theString
value of the target column is"true"
, case insensitive. or it's an integer with value > 0. Otherwise,false
is returned. Remember to addlimit
condition if big result will be returned by the query.- Type Parameters:
V
- the value type- Parameters:
targetClass
- set result type to avoid the NullPointerException if result is null and T is primitive type "int, long. short ... char, boolean..".conn
-sql
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
- Throws:
com.landawn.abacus.exception.DuplicatedResultException
- if more than one record found.
-
query
- Parameters:
sql
-parameters
-- Returns:
-
query
@SafeVarargs public final com.landawn.abacus.util.DataSet query(String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) - Parameters:
sql
-statementSetter
-parameters
-- Returns:
-
query
@SafeVarargs public final com.landawn.abacus.util.DataSet query(String sql, JdbcSettings jdbcSettings, Object... parameters) - Parameters:
sql
-jdbcSettings
-parameters
-- Returns:
-
query
@SafeVarargs public final com.landawn.abacus.util.DataSet query(String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) - Parameters:
sql
-statementSetter
-jdbcSettings
-parameters
-- Returns:
-
query
@SafeVarargs public final <T> T query(String sql, Jdbc.ResultExtractor<T> resultExtractor, Object... parameters) - Type Parameters:
T
-- Parameters:
sql
-resultExtrator
- Don't save/returnResultSet
. It will be closed after this call.parameters
-- Returns:
-
query
@SafeVarargs public final <T> T query(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.ResultExtractor<T> resultExtractor, Object... parameters) - Type Parameters:
T
-- Parameters:
sql
-statementSetter
-resultExtrator
- Don't save/returnResultSet
. It will be closed after this call.parameters
-- Returns:
-
query
@SafeVarargs public final <T> T query(String sql, Jdbc.ResultExtractor<T> resultExtractor, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
sql
-resultExtrator
- Don't save/returnResultSet
. It will be closed after this call.jdbcSettings
-parameters
-- Returns:
-
query
@SafeVarargs public final <T> T query(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.ResultExtractor<T> resultExtractor, JdbcSettings jdbcSettings, Object... parameters) Remember to close theResultSet
,Statement
andConnection
if the return typeT
isResultSet
orRowIterator
. IfT
isRowIterator
, callrowIterator.close()
to closeResultSet
,Statement
andConnection
.
IfT
isResultSet
, call below codes to closeResultSet
,Statement
andConnection
.Connection conn = null; Statement stmt = null; try { stmt = rs.getStatement(); conn = stmt.getConnection(); } catch (SQLException e) { // TODO. } finally { JdbcUtil.closeQuietly(rs, stmt, conn); }
- Type Parameters:
T
-- Parameters:
sql
-statementSetter
-resultExtrator
- Don't save/returnResultSet
. It will be closed after this call.jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
query
@SafeVarargs public final com.landawn.abacus.util.DataSet query(Connection conn, String sql, Object... parameters) - Parameters:
conn
-sql
-parameters
-- Returns:
-
query
@SafeVarargs public final com.landawn.abacus.util.DataSet query(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) - Parameters:
conn
-sql
-statementSetter
-parameters
-- Returns:
-
query
@SafeVarargs public final com.landawn.abacus.util.DataSet query(Connection conn, String sql, JdbcSettings jdbcSettings, Object... parameters) - Parameters:
conn
-sql
-jdbcSettings
-parameters
-- Returns:
-
query
@SafeVarargs public final com.landawn.abacus.util.DataSet query(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) - Parameters:
conn
-sql
-statementSetter
-jdbcSettings
-parameters
-- Returns:
-
query
@SafeVarargs public final <T> T query(Connection conn, String sql, Jdbc.ResultExtractor<T> resultExtractor, Object... parameters) - Type Parameters:
T
-- Parameters:
conn
-sql
-resultExtrator
- Don't save/returnResultSet
. It will be closed after this call.parameters
-- Returns:
-
query
@SafeVarargs public final <T> T query(Connection conn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.ResultExtractor<T> resultExtractor, Object... parameters) - Type Parameters:
T
-- Parameters:
conn
-sql
-statementSetter
-resultExtrator
- Don't save/returnResultSet
. It will be closed after this call.parameters
-- Returns:
-
query
@SafeVarargs public final <T> T query(Connection conn, String sql, Jdbc.ResultExtractor<T> resultExtractor, JdbcSettings jdbcSettings, Object... parameters) - Type Parameters:
T
-- Parameters:
conn
-sql
-resultExtrator
- Don't save/returnResultSet
. It will be closed after this call.jdbcSettings
-parameters
-- Returns:
-
query
@SafeVarargs public final <T> T query(Connection inputConn, String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.ResultExtractor<T> resultExtractor, JdbcSettings jdbcSettings, Object... parameters) Remember to close theResultSet
,Statement
andConnection
if the return typeT
isResultSet
orRowIterator
. IfT
isRowIterator
, callrowIterator.close()
to closeResultSet
,Statement
andConnection
.
IfT
isResultSet
, call below codes to closeResultSet
,Statement
andConnection
.Connection conn = null; Statement stmt = null; try { stmt = rs.getStatement(); conn = stmt.getConnection(); } catch (SQLException e) { // TODO. } finally { JdbcUtil.closeQuietly(rs, stmt, conn); }
- Type Parameters:
T
-- Parameters:
conn
-sql
-statementSetter
-resultExtrator
- Don't save/returnResultSet
. It will be closed after this call.jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
queryAll
@SafeVarargs public final com.landawn.abacus.util.DataSet queryAll(List<String> sqls, JdbcSettings jdbcSettings, Object... parameters) Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results. It's designed for partition.- Parameters:
sqls
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
queryAll
@SafeVarargs public final com.landawn.abacus.util.DataSet queryAll(List<String> sqls, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results. It's designed for partition.- Parameters:
sqls
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
stream
@SafeVarargs public final <T> com.landawn.abacus.util.stream.Stream<T> stream(Class<T> targetClass, String sql, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.- Type Parameters:
T
-- Parameters:
targetClass
-sql
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
stream
@SafeVarargs public final <T> com.landawn.abacus.util.stream.Stream<T> stream(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.- Type Parameters:
T
-- Parameters:
targetClass
-sql
-statementSetter
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
stream
public final <T> com.landawn.abacus.util.stream.Stream<T> stream(Class<T> targetClass, String sql, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.- Type Parameters:
T
-- Parameters:
targetClass
-sql
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
stream
@SafeVarargs public final <T> com.landawn.abacus.util.stream.Stream<T> stream(Class<T> targetClass, String sql, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.- Type Parameters:
T
-- Parameters:
targetClass
-sql
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
stream
@SafeVarargs public final <T> com.landawn.abacus.util.stream.Stream<T> stream(String sql, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.- Type Parameters:
T
-- Parameters:
sql
-rowMapper
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
stream
@SafeVarargs public final <T> com.landawn.abacus.util.stream.Stream<T> stream(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.- Type Parameters:
T
-- Parameters:
sql
-statementSetter
-rowMapper
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
stream
@SafeVarargs public final <T> com.landawn.abacus.util.stream.Stream<T> stream(String sql, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.- Type Parameters:
T
-- Parameters:
sql
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
stream
@SafeVarargs public final <T> com.landawn.abacus.util.stream.Stream<T> stream(String sql, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.- Type Parameters:
T
-- Parameters:
sql
-statementSetter
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
streamAll
@SafeVarargs public final <T> com.landawn.abacus.util.stream.Stream<T> streamAll(Class<T> targetClass, List<String> sqls, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.
Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results. It's designed for partition.- Type Parameters:
T
-- Parameters:
targetClass
-sqls
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
streamAll
@SafeVarargs public final <T> com.landawn.abacus.util.stream.Stream<T> streamAll(Class<T> targetClass, List<String> sqls, SQLExecutor.StatementSetter statementSetter, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.
Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results. It's designed for partition.- Type Parameters:
T
-- Parameters:
targetClass
-sqls
-statementSetter
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
streamAll
@SafeVarargs public final <T> com.landawn.abacus.util.stream.Stream<T> streamAll(List<String> sqls, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.
Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results. It's designed for partition.- Type Parameters:
T
-- Parameters:
sqls
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
streamAll
@SafeVarargs public final <T> com.landawn.abacus.util.stream.Stream<T> streamAll(List<String> sqls, SQLExecutor.StatementSetter statementSetter, Jdbc.BiRowMapper<T> rowMapper, JdbcSettings jdbcSettings, Object... parameters) Lazy execution, lazy fetching. No connection fetching/creating, no statement preparing or execution, no result fetching until@TerminalOp
or@TerminalOpTriggered
stream operation is called.
Execute one or more queries in one or more data sources specified byjdbcSettings
and merge the results. It's designed for partition.- Type Parameters:
T
-- Parameters:
sqls
-statementSetter
-rowMapper
-jdbcSettings
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Returns:
-
execute
public final boolean execute(String sql, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException - Parameters:
sql
-parameters
-- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
execute
@SafeVarargs public final boolean execute(Connection conn, String sql, Object... parameters) throws com.landawn.abacus.exception.UncheckedSQLException Execute the sql with the specified parameters.- Parameters:
conn
-sql
-parameters
- it can beObject[]/List
for (named) parameterized query, orMap<String, Object>/Entity
for named parameterized query. DO NOT use primitive arrayboolean[]/char[]/byte[]/short[]/int[]/long[]/float[]/double[]
for passing multiple parameters.- Throws:
com.landawn.abacus.exception.UncheckedSQLException
- the unchecked SQL exception
-
beginTransaction
Refer tobeginTransaction(IsolationLevel, boolean, JdbcSettings)
.- Returns:
- See Also:
-
beginTransaction
Refer tobeginTransaction(IsolationLevel, boolean, JdbcSettings)
.- Parameters:
isolationLevel
-- Returns:
- See Also:
-
beginTransaction
Refer tobeginTransaction(IsolationLevel, boolean, JdbcSettings)
.- Parameters:
forUpdateOnly
-- Returns:
- See Also:
-
beginTransaction
Refer tobeginTransaction(IsolationLevel, boolean, JdbcSettings)
.- Parameters:
isolationLevel
-forUpdateOnly
-- Returns:
- See Also:
-
beginTransaction
public SQLTransaction beginTransaction(IsolationLevel isolationLevel, boolean forUpdateOnly, JdbcSettings jdbcSettings) If this method is called where a transaction is started byJdbcUtil.beginTransaction
or inSpring
with the sameDataSource
in the same thread, theConnection
started the Transaction will be used here. That's to say the transaction started byJdbcUtil.beginTransaction
or inSpring
will have the final control on commit/roll back over theConnection
.
Otherwise aConnection
directly from the specifiedDataSource
(Connection pool) will be borrowed and used.
Transactions started bySQLExecutor.beginTransaction
won't be shared byJdbcUtil.beginTransaction
or Spring.
The connection opened in the transaction will be automatically closed after the transaction is committed or rolled back. DON'T close it again by calling the close method. Transaction can be started:final SQLTransaction tran = sqlExecutor.beginTransaction(IsolationLevel.READ_COMMITTED); try { // sqlExecutor.insert(...); // sqlExecutor.update(...); // sqlExecutor.query(...); tran.commit(); } finally { // The connection will be automatically closed after the transaction is committed or rolled back. tran.rollbackIfNotCommitted(); }
- Parameters:
isolationLevel
-forUpdateOnly
-jdbcSettings
-- Returns:
-
doesTableExist
Does table exist.- Parameters:
tableName
-- Returns:
- true, if successful
-
createTableIfNotExists
Returnstrue
if succeed to create table, otherwisefalse
is returned.- Parameters:
tableName
-schema
-- Returns:
- true, if successful
-
dropTableIfExists
Returnstrue
if succeed to drop table, otherwisefalse
is returned.- Parameters:
tableName
-- Returns:
- true, if successful
-
getColumnNameList
Gets the column name list.- Parameters:
tableName
-- Returns:
-
getConnection
Gets the connection.- Returns:
-
closeConnection
- Parameters:
conn
-
-
JdbcSettings