使用Mybatis传入List实现批量更新的方法

使用Mybatis传入List实现批量更新的方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

Dao层写法

/**
   * 批量更新新库存
   * @param list
   * @return
   */
  int updateNewStock(@Param(value = "list") List<GreenBeanMsg> list);

xml具体实现代码

<update id="updateNewStock" parameterType="java.util.List">
    <foreach collection="list" item="bean" index="index" open="" close="" separator=";">
      UPDATE green_beans
      <set>
        stock=#{bean.stock}
      </set>
      <where>
        beanUid = #{bean.beanUid}
      </where>
    </foreach>
  </update>

注意的地方:我传入的是一个集合,于是在dao层写的方法里加上@Param(value“list”),mybatis将传入的参数看做是一个集合list了。于是,在foreach中的collectio中就要写作“list”;parameterType也定义为"java.util.List"。

看完上述内容,你们掌握使用Mybatis传入List实现批量更新的方法的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!