`JdbcTemplate` 是 Spring 框架中提供的一個簡化 JDBC 操作的工具類,它封裝了 JDBC 的核心功能,使得開發者能夠更方便、簡潔地進行數據庫操作。
下面是一個使用 `JdbcTemplate` 進行批量插入的示例:
import org.springframework.jdbc.core.BatchPreparedStatementSetter;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
public class BatchInsertExample {
? ? private final JdbcTemplate jdbcTemplate;
? ? public BatchInsertExample(DataSource dataSource) {
? ? ? ? this.jdbcTemplate = new JdbcTemplate(dataSource);
? ? }
? ? public void batchInsert(List<YourEntity> entities) {
? ? ? ? String sql = "INSERT INTO your_table (column1, column2, ...) VALUES (?, ?, ...)";
? ? ? ? jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void setValues(PreparedStatement ps, int i) throws SQLException {
? ? ? ? ? ? ? ? YourEntity entity = entities.get(i);
? ? ? ? ? ? ? ? ps.setXXX(1, entity.getXXX()); // 設置參數值,XXX 代表你的數據類型和方法
? ? ? ? ? ? ? ? ps.setXXX(2, entity.getXXX());
? ? ? ? ? ? ? ? // ... 為其他列設置值
? ? ? ? ? ? }
? ? ? ? ? ? @Override
? ? ? ? ? ? public int getBatchSize() {
? ? ? ? ? ? ? ? return entities.size();
? ? ? ? ? ? }
? ? ? ? });
? ? }
}
在這個示例中,`YourEntity` 是你的數據實體類,`your_table` 是你的數據庫表名,`column1, column2, ...` 是表的列名。你需要根據實際情況替換這些占位符。