如何从JdbcTemplate获取受影响的行数?

mem*_*und 9 java spring spring-data

我正在使用spring JdbcTemplate来执行sql查询:

JdbcTemplate template = new JdbcTemplate(ds);
template.execute(sqlInsert); //returns void
Run Code Online (Sandbox Code Playgroud)

我怎么能得到受影响的行数,因为该execute()方法返回void?

Jen*_*ens 14

调用更新方法JdbcTemplate.它将为您提供受影响的行数作为返回值.

更新

public int update(PreparedStatementCreator psc)
       throws DataAccessException
Run Code Online (Sandbox Code Playgroud)

从界面复制的描述: JdbcOperations

使用a发出单个SQL更新操作(例如insert,update或delete语句) PreparedStatementCreator以提供SQL和任何所需参数.A PreparedStatementCreator既可以直接实现,也可以通过a配置PreparedStatementCreatorFactory.

指定者:
接口更新JdbcOperations

参数:
psc - 提供SQL和任何必要参数的对象

返回:
受影响的行数

抛出:
DataAccessException - 如果发布更新有任何问题

另请参见:
PreparedStatementCreatorFactory

  • @membersound是的,正如文档中所说的"SQL更新操作(例如插入,更新或删除语句)". (3认同)

Kal*_*ran 8

您可能可以用于JdbcTemplate.update()这种情况。这将返回更新或删除的行数。