public class SimpleJdbcTemplate extends Object implements JdbcOperations
主要能力:
ResultHandler 自定义结果处理、RowMapper 行映射等多种方式batchUpdate(java.lang.String, java.util.Collection<java.lang.Object[]>, int) 分批执行 DML,支持静默模式(遇错继续)和
非静默模式(遇错即中断)transaction() 获取 TransactionTemplate 执行
线程安全:本类无内部可变状态,线程安全。所依赖的 DataSource
需自行保证线程安全。
JdbcOperations,
TransactionTemplate,
ParamBuilder| Constructor and Description |
|---|
SimpleJdbcTemplate(DataSource dataSource)
构造一个
SimpleJdbcTemplate 实例 |
| 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。 |
<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)
执行查询,将查询结果的每一行数据按照指定逻辑进行处理,返回结果列表
|
TransactionTemplate |
transaction()
获取事务模板
返回的
TransactionTemplate 与当前模板共享同一个 DataSource。 |
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)
SimpleJdbcTemplate 实例dataSource - 数据源,用于获取数据库连接;不可为 nullpublic <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 TransactionTemplate transaction()
返回的 TransactionTemplate 与当前模板共享同一个 DataSource。
Copyright © 2026. All rights reserved.