使用注释进行MyBatis批量插入/更新

时间:2015-12-16 06:13:41

标签: mybatis ibatis spring-mybatis

请告诉我,如何使用带注释的映射器在mybatis中执行批量插入/更新。

2 个答案:

答案 0 :(得分:5)

你可以像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);

答案 1 :(得分:1)

以简单的方式做事

@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);

这对我来说非常完美,我使用上面的单个插入在PostgreSQL数据库中插入了批量记录。