批量数据导入数据库的实现类写法void saveBatch(List<Goods> cachedDataList);
时间: 2024-09-26 18:05:08 浏览: 35
cpp代码-模板 泛型 template<typename> template<class>
批量数据导入数据库通常涉及到一个存储过程或者一个循环遍历的过程,这里以JDBC为例,给出一个简单的Java方法实现:
```java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.List;
public class BatchDataSaver {
private Connection connection; // 数据库连接
public void setConnection(Connection connection) {
this.connection = connection;
}
/**
* 将传入的批量商品数据保存到数据库
* @param cachedDataList 需要插入的商品列表
*/
public void saveBatch(List<Goods> cachedDataList) {
try {
// 创建SQL插入语句的PreparedStatement
String sql = "INSERT INTO goods_table (column1, column2, ...) VALUES (?, ?, ...)";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
// 循环遍历每个商品,设置参数并执行插入
for (Goods item : cachedDataList) {
preparedStatement.setString(1, item.getName());
preparedStatement.setInt(2, item.getPrice());
// 根据实际字段设置更多参数...
preparedStatement.addBatch(); // 添加到批处理
}
// 执行批处理
preparedStatement.executeBatch();
// 关闭PreparedStatement
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
// 处理SQL异常
}
}
}
```
在这个例子中,你需要自定义`Goods`类,并替换`column1`, `column2`, ...为实际的表列名。注意,在生产环境中,为了防止SQL注入攻击,应该使用参数占位符(如`?`)而不是直接拼接字符串。
阅读全文