mybatis+mysql 一个批量删除的例子
时间: 2023-12-07 21:05:46 浏览: 111
假设我们有一个User表,要批量删除id在1到100之间的用户,可以使用如下代码:
```
public void batchDelete() {
try (SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH)) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
for (int i = 1; i <= 100; i++) {
userMapper.deleteUser(i);
}
sqlSession.commit();
}
}
```
其中,UserMapper是我们定义的Mapper接口,deleteUser是其中的一个方法,用于删除指定id的用户。我们使用SqlSession的BATCH模式进行批量操作,每次循环删除一个用户,最后统一提交事务,以提高性能。
相关问题
springboot+mybatis批量插入
在Spring Boot中使用MyBatis进行批量插入操作非常简单。下面是一个示例代码:
首先,确保你的Spring Boot项目中已经集成了MyBatis和相应的数据库驱动。接下来,你需要创建一个Mapper接口来定义批量插入的方法。假设你的实体类为User,可以创建一个名为UserMapper的接口,如下所示:
```java
@Mapper
public interface UserMapper {
void batchInsert(List<User> userList);
}
```
然后,在你的Mapper XML文件中,编写对应的SQL语句。在这个例子中,我们使用MySQL数据库,可以使用INSERT INTO ... VALUES ...语句进行批量插入。如下所示:
```xml
<insert id="batchInsert" parameterType="java.util.List">
INSERT INTO user (name, age)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.name}, #{item.age})
</foreach>
</insert>
```
最后,在你的Service或Controller类中注入UserMapper,并调用batchInsert方法即可实现批量插入。例如:
```java
@Service
public class UserService {
private final UserMapper userMapper;
public UserService(UserMapper userMapper) {
this.userMapper = userMapper;
}
public void batchInsert(List<User> userList) {
userMapper.batchInsert(userList);
}
}
```
这样,你就可以通过调用UserService的batchInsert方法来批量插入数据了。
希望以上信息能对你有所帮助!如果你有任何其他问题,请随时提问。
阅读全文