mybatis批量插入数据sql
时间: 2024-12-25 10:14:00 浏览: 10
MyBatis 中批量插入数据通常通过 `insert` 或 `batchInsert` 动作来实现。当你有大量数据需要一次性插入数据库时,而不是一条一条地执行 `INSERT INTO` 语句,可以采用批处理的方式来提高效率。这里是一个基本的例子:
```xml
<!-- 使用foreach标签批量插入 -->
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO table_name (column1, column2, ...)
VALUES
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
(#{item.column1}, #{item.column2}, ...)
</foreach>
</insert>
// Java 代码调用示例
List<Map<String, Object>> dataList = ...; // 需要插入的数据集合
List<Object> params = new ArrayList<>();
for (Map<String, Object> data : dataList) {
params.add(data);
}
int rowsInserted = sqlSession.insert("insertBatch", params); // sqlSession 是 MyBatis 的SqlSession实例
```
在这个例子中,`foreach` 标签遍历数据列表,并生成包含占位符的 SQL 语句。在 Java 代码里,你需要将每个数据对象作为参数传递给 `insert` 方法。
阅读全文