mybatis批量插入mysql
时间: 2023-09-01 21:10:02 浏览: 125
在MyBatis中执行批量插入操作到MySQL数据库,你可以使用`insertBatch`方法和`foreach`标签。以下是一个示例:
首先,定义一个Mapper接口,例如`YourMapper.java`:
```java
public interface YourMapper {
void insertBatch(List<YourObject> dataList);
}
```
然后,在对应的Mapper XML文件中,编写批量插入的SQL语句:
```xml
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO your_table (column1, column2, column3)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.value1}, #{item.value2}, #{item.value3})
</foreach>
</insert>
```
在上述示例中,我们使用`foreach`标签迭代传入的列表并生成批量插入的SQL语句。
最后,在Java代码中调用批量插入的方法:
```java
List<YourObject> dataList = new ArrayList<>();
// 添加数据到dataList...
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
YourMapper yourMapper = sqlSession.getMapper(YourMapper.class);
yourMapper.insertBatch(dataList);
sqlSession.commit();
} finally {
sqlSession.close();
}
```
请确保替换示例中的`YourObject`、`your_table`、`column1`、column2`和`column3`为实际的对象、表和列名,并根据需要修改插入逻辑和数据集合。
阅读全文