Please let me know, how to perform batch insert/update in mybatis using annotated mappers.
Asked
Active
Viewed 8,944 times
2 Answers
9
you can do it like this:
@Insert({
"<script>",
"insert into mybatis_demo (name, age)",
"values ",
"<foreach collection='dmoList' item='dmo' separator=','>",
"( #{dmo.name,jdbcType=VARCHAR}, #{dmo.age,jdbcType=INTEGER})",
"</foreach>",
"</script>"
})
int insertBatch(@Param("dmoList") List<MybatisDemoDMO> dmoList);

Persia
- 855
- 5
- 8
2
do in simple way
@Insert({"<script>",
"insert into user_master (first_name,last_name) values ",
"<foreach collection='userList' item='user' index='index' open='(' separator = '),(' close=')' >#{user.first_name},#{user.last_name}</foreach>",
"</script>"})
int insertUserList(@Param("userList") List<UserNew> userList);
It's work perfect for me and i inserted bulk record in my PostgreSQL database using above single insert.

Vijay Gajera
- 1,306
- 11
- 13