批量插入时的一系列问题(batchInsert)
1. 批量插入能够减少数据库连接的I/O开销;
2. @Param注解的使用;
3. <foreach/>标签的使用;
4. 表结构设计时,id没有设置为auto_increment导致的一系列问题。
标准sql如下:
/**
* @Desc 批量添加账户信息
* @param accounts
* @return
*/
int batchInsert(@Param("accounts") List<Account> accounts);
<!-- 批量添加账户信息 -->
<insert id="batchInsert" parameterType="java.util.List">
insert into account
values
<foreach collection="accounts" item="account" separator=",">
(#{account.id},#{account.username},#{account.password},#{account.balance})
</foreach>
</insert>