MyBatis中的list用于在映射文件中执行批量操作。它可以将一个参数列表中的多个对象一次性插入、更新或删除。以下是MyBatis中list的用法示例:
- 插入多个对象:可以使用foreach标签将list中的对象循环插入数据库。
映射文件示例:
INSERT INTO users (id, name, age) VALUES (#{user.id}, #{user.name}, #{user.age})
Java代码示例:
ListuserList = new ArrayList<>(); userList.add(new User(1, "Alice", 20)); userList.add(new User(2, "Bob", 25)); userList.add(new User(3, "Charlie", 30)); sqlSession.insert("insertUsers", userList);
- 更新多个对象:可以使用foreach标签将list中的对象循环更新数据库。
映射文件示例:
UPDATE users SET name = #{user.name}, age = #{user.age} WHERE id = #{user.id}
Java代码示例:
ListuserList = new ArrayList<>(); userList.add(new User(1, "Alice", 21)); userList.add(new User(2, "Bob", 26)); userList.add(new User(3, "Charlie", 31)); sqlSession.update("updateUsers", userList);
- 删除多个对象:可以使用foreach标签将list中的对象循环删除数据库中的记录。
映射文件示例:
DELETE FROM users WHERE id IN #{id}
Java代码示例:
ListuserIds = new ArrayList<>(); userIds.add(1); userIds.add(2); userIds.add(3); sqlSession.delete("deleteUsers", userIds);
这些示例展示了在MyBatis中如何使用list进行批量操作。注意在映射文件中使用foreach标签时,collection属性指定了要遍历的参数列表,item属性指定了在每次循环中的对象名称,separator属性指定了每个对象之间的分隔符。