[英]Update ResultSet with Spring JDBCTemplate
使用Spring boot 1.5.8.RELEASE
,使用org.springframework.jdbc.core.JdbcTemplate
我想查詢SELECT id, name FROM user
,然后在迭代所有結果時更新。
使用經典的JDBC代碼,我曾經使用過:
PreparedStatement stmt = conn.prepareStatement(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery();
...
rs.updateString("name", "toto");
...
但是如何使用Spring JDBCTemplate類(查詢方法)呢?
感謝@JB Nizet:
jdbcTemplate.query(new PreparedStatementCreator() {
@Override
public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
return con.prepareStatement("SELECT id, slug FROM user", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
}
}, new ResultSetExtractor<Void>() {
@Override
public Void extractData(ResultSet rs) throws SQLException, DataAccessException {
while (rs.next()) {
rs.updateString("slug", artistSlug);
}
return null;
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.