在 MyBatis 的 XML 文件中,你可以使用 標簽來實現批量操作。
User
:public class User {
private int id;
private String name;
private String email;
// 省略 getter 和 setter 方法
}
UserMapper.xml
)中,編寫批量插入操作的 SQL 語句:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<insert id="insertUsers" parameterType="list">
INSERT INTO users (id, name, email)
VALUES
<foreach collection="list" item="user" separator=",">
(#{user.id}, #{user.name}, #{user.email})
</foreach>
</insert>
</mapper>
在這個示例中,我們使用 標簽遍歷傳入的用戶列表,并為每個用戶生成一個插入值的子句。
collection 屬性指定要遍歷的集合名稱,
item 屬性指定當前遍歷元素的變量名,
separator` 屬性指定每個子句之間的分隔符。
public interface UserMapper {
void insertUsers(List<User> users);
}
UserMapper
的 insertUsers
方法,傳入用戶列表即可完成批量插入操作:@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void insertUsers(List<User> users) {
userMapper.insertUsers(users);
}
}
這樣,你就可以在 MyBatis XML 文件中編寫批量操作了。注意,批量操作可能會影響數據庫性能,因此在實際應用中需要根據具體情況進行優化。