在开发过程中都会遇到批量的插入或者是更新数据,本人只写了一下自己在做的过程中遇到问题,写此篇文章的作用:第一是记录自己在工作过程中的问题。第二是方便同行的伙伴们避免出现这样的问题消耗太多的时间。废话不多说,直接上代码。
1.批量插入数据
Dao层:
void insertBatch(List userPermission);
*参数直接是一个List对象
Mapper.xml
resultType="java.lang.Integer">
SELECT LAST_INSERT_ID()
insert into user_permission ()
values
#{item.id,jdbcType=BIGINT},#{item.bid,jdbcType=BIGINT}, #{item.fid,jdbcType=BIGINT},#{item.buttonName,jdbcType=VARCHAR},#{item.buttonState,jdbcType=BIGINT},#{item.effective,jdbcType=BIGINT},#{item.createAt,jdbcType=TIMESTAMP}
id,bid,fid,button_Name,button_state,effective,create_at
*这里要值得注意的是:selectKey是用来自增长主键Id,如果使用的mybatis3.3.*以下的版本是有自增长的bug,mybatis3.3.*以上的版本是修复了该bug.
2.批量更新数据
Dao层:
void updateBatch(List userPermission);