Mybatis-foreach 标签使用进行批量操作

admin2024-04-03  0

Mybatis-foreach标签使用进行批量操作

一、准备内容

  1. 创建数据库表user
CREATE TABLE `user` (
  `id` int NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
  1. 创建User实体
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {

    private Integer id;

    private String name;
}

二、批量添加

  1. UserMapper.xml

	<!--批量添加-->
    <insert id="insertBatch" parameterType="java.util.List">
        INSERT INTO user (id,name)
        VALUES
        <foreach collection="userList" item="user" separator=",">
            (#{user.id},#{user.name})
        </foreach>
    </insert>
  1. UserMapper

//    批量添加
 int insertBatch(@Param("userList") List<User> userList);
  1. UserService

//    批量添加
int insertBatch(List<User> userList);
  1. UserServiceImpl
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;


	//    批量添加
    @Override
    public int insertBatch(List<User> userList) {

        return userMapper.insertBatch(userList);
    }
}
  1. UserController

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    UserService userService;


	//    批量添加
    @PostMapping("/batch/insert")
    public int insertBatch(@RequestBody List<User> userList) {

        return userService.insertBatch(userList);

    } 
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!