public class SimpleJdbcTemplate extends Object implements JdbcOperations
对 JDBC 的简单封装,方便数据库操作,支持事务,支持批量操作,支持自定义结果集映射
| Constructor and Description |
|---|
SimpleJdbcTemplate(DataSource dataSource) |
| Modifier and Type | Method and Description |
|---|---|
BatchUpdateResult |
batchUpdate(String sql,
Collection<Object[]> params,
int batchSize)
批量更新
跑批过程中发生异常即中断操作,并返回结果。
|
BatchUpdateResult |
batchUpdate(String sql,
Collection<Object[]> params,
int batchSize,
boolean quietly)
批量更新
当无法获取所更新的行数时,对应位置的更新行数将被设置为
JdbcOperationSupport.UNKNOWN_COUNT。 |
<E extends Exception> |
commitIfTrue(xyz.zhouxy.plusone.commons.function.ThrowingPredicate<JdbcOperations,E> operations)
执行事务。
|
<E extends Exception> |
executeTransaction(xyz.zhouxy.plusone.commons.function.ThrowingConsumer<JdbcOperations,E> operations)
执行事务。
|
<T> T |
query(String sql,
Object[] params,
ResultHandler<T> resultHandler)
执行查询,并按照自定义处理逻辑对结果进行处理,将结果转换为指定类型并返回
|
boolean |
queryBoolean(String sql,
Object[] params)
查询第一行第一列并转换为 boolean
|
Optional<Map<String,Object>> |
queryFirst(String sql,
Object[] params)
执行查询,将第一行数据转为 Map<String, Object>
|
<T> Optional<T> |
queryFirst(String sql,
Object[] params,
Class<T> clazz)
查询第一行第一列,并转换为指定类型
|
<T> Optional<T> |
queryFirst(String sql,
Object[] params,
RowMapper<T> rowMapper)
执行查询,将查询结果的第一行数据按照指定逻辑进行处理,返回
Optional |
List<Map<String,Object>> |
queryList(String sql,
Object[] params)
执行查询,每一行数据映射为
Map<String, Object>,返回结果列表 |
<T> List<T> |
queryList(String sql,
Object[] params,
Class<T> clazz)
执行查询,返回结果映射为指定的类型。
|
<T> List<T> |
queryList(String sql,
Object[] params,
RowMapper<T> rowMapper)
执行查询,将查询结果的每一行数据按照指定逻辑进行处理,返回结果列表
|
int |
update(String sql,
Object[] params)
执行更新操作
|
<T> List<T> |
updateAndReturnKeys(String sql,
Object[] params,
RowMapper<T> rowMapper)
执行 SQL 并返回生成的 keys
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitquery, queryBoolean, queryFirst, queryFirst, queryFirst, queryList, queryList, queryList, update, updateAndReturnKeyspublic SimpleJdbcTemplate(@Nonnull DataSource dataSource)
public <T> T query(String sql, Object[] params, ResultHandler<T> resultHandler) throws SQLException
query in interface JdbcOperationsT - 返回结果类型sql - SQLparams - 参数resultHandler - 结果处理器,用于处理 ResultSetSQLException - SQL异常public <T> List<T> queryList(String sql, Object[] params, RowMapper<T> rowMapper) throws SQLException
queryList in interface JdbcOperationsT - 返回结果列表中每一行数据的类型sql - SQLparams - 参数rowMapper - ResultSet 中每一行的数据的处理逻辑SQLException - SQL 异常public <T> List<T> queryList(String sql, Object[] params, Class<T> clazz) throws SQLException
queryList in interface JdbcOperationsT - 目标类型sql - SQLparams - 参数clazz - 目标类型SQLException - SQL异常public List<Map<String,Object>> queryList(String sql, Object[] params) throws SQLException
Map<String, Object>,返回结果列表queryList in interface JdbcOperationssql - SQLparams - 参数列表SQLException - SQL 异常public <T> Optional<T> queryFirst(String sql, Object[] params, RowMapper<T> rowMapper) throws SQLException
OptionalqueryFirst in interface JdbcOperationsT - 目标类型sql - SQLparams - 参数rowMapper - ResultSet 中每一行的数据的处理逻辑SQLException - SQL 异常public <T> Optional<T> queryFirst(String sql, Object[] params, Class<T> clazz) throws SQLException
queryFirst in interface JdbcOperationsT - 目标类型sql - SQLparams - 参数clazz - 目标类型SQLException - SQL 异常public Optional<Map<String,Object>> queryFirst(String sql, Object[] params) throws SQLException
queryFirst in interface JdbcOperationssql - SQLparams - 参数SQLException - SQL 异常public boolean queryBoolean(String sql, Object[] params) throws SQLException
queryBoolean in interface JdbcOperationssql - SQLparams - 参数falseSQLException - SQL 异常public int update(String sql, Object[] params) throws SQLException
update in interface JdbcOperationssql - 要执行的 SQLparams - 参数SQLException - SQL 异常public <T> List<T> updateAndReturnKeys(String sql, Object[] params, RowMapper<T> rowMapper) throws SQLException
updateAndReturnKeys in interface JdbcOperationsT - 映射结果类型sql - 要执行的 SQLparams - 参数rowMapper - 行数据映射逻辑SQLException - 数据库执行异常public BatchUpdateResult batchUpdate(String sql, @Nullable Collection<Object[]> params, int batchSize) throws SQLException
跑批过程中发生异常即中断操作,并返回结果。
当无法获取所更新的行数时,对应位置的更新行数将被设置为 JdbcOperationSupport.UNKNOWN_COUNT。
batchUpdate in interface JdbcOperationssql - SQL 语句params - 参数列表batchSize - 每次批量更新的数据量SQLException - SQL 异常public BatchUpdateResult batchUpdate(String sql, @Nullable Collection<Object[]> params, int batchSize, boolean quietly) throws SQLException
当无法获取所更新的行数时,对应位置的更新行数将被设置为 JdbcOperationSupport.UNKNOWN_COUNT。
batchUpdate in interface JdbcOperationssql - sql语句params - 参数列表batchSize - 每次批量更新的数据量quietly - 静默分批更新。
如果 quietly 为 true,分批更新过程中发生异常不中断操作;
如果 quietly 为 false,分批更新过程中发生异常即中断操作,并返回结果。SQLException - 数据库执行异常public <E extends Exception> void executeTransaction(@Nonnull xyz.zhouxy.plusone.commons.function.ThrowingConsumer<JdbcOperations,E> operations) throws TransactionException, SQLException
operations 中使用 JdbcExecutor 实参进行 JDBC 操作,这些操作在一个连接中
E - 异常类型operations - 事务操作SQLException - SQL 异常TransactionException - 事务异常。事务中的异常会包装在该异常中。public <E extends Exception> void commitIfTrue(@Nonnull xyz.zhouxy.plusone.commons.function.ThrowingPredicate<JdbcOperations,E> operations) throws SQLException, TransactionException
operations 返回 true,则提交事务;
如果抛出异常,或返回 false,则回滚事务E - 事务中的异常operations - 事务操作SQLException - 数据库异常TransactionException - 事务异常。事务中的异常会包装在该异常中。Copyright © 2026. All rights reserved.