使用 `NamedParameterJdbcTemplate` 进行批量删除的步骤如下:
1. 构建 SQL 语句,使用 `IN` 子句来指定要删除的记录的 ID 列表,例如:
```
DELETE FROM table_name WHERE id IN (:ids)
```
2. 创建一个 `SqlParameterSource` 对象,该对象将包含要传递给 SQL 语句的参数,例如:
```
MapSqlParameterSource params = new MapSqlParameterSource();
params.addValue("ids", Arrays.asList(1, 2, 3));
```
3. 使用 `NamedParameterJdbcTemplate` 执行 SQL 语句,并传递 `SqlParameterSource` 对象作为参数,例如:
```
String sql = "DELETE FROM table_name WHERE id IN (:ids)";
namedParameterJdbcTemplate.update(sql, params);
```
4. 如果要执行多个批量删除操作,则可以在循环中重复上述步骤,将不同的参数传递给 `NamedParameterJdbcTemplate`。
完整代码示例:
```
List<Integer> idsToDelete = Arrays.asList(1, 2, 3, 4);
String sql = "DELETE FROM table_name WHERE id IN (:ids)";
MapSqlParameterSource params = new MapSqlParameterSource();
params.addValue("ids", idsToDelete);
namedParameterJdbcTemplate.update(sql, params);
```
在以上示例中,`idsToDelete` 列表包含要删除的记录的 ID,然后使用 `NamedParameterJdbcTemplate` 执行 SQL 语句来批量删除这些记录。