Mbatis批量插入
@Date 2016.11.13
使用Mbatis批量插入功能代码示例
- 在做批量插入时要注意细节、如有写错会有奇怪的异常抛出
- 有可能会出现异常 : Parameter ‘__frch_callRecord_0’ not found
@Insert('''<script>
INSERT INTO xxx (
prefix_number,
serial_number,
is_register,
insert_date,
update_date,
all_number,
merchant_id
) VALUES
<foreach collection="list" item="item" index="index" separator="," >
(
#{item.prefixNumber},
#{item.serialNumber},
#{item.isRegister},
now(),
now(),
#{item.allNumber},
#{item.merchantId}
)
</foreach>
</script>''')
批量插入时遇到如下异常(Caused by: org.apache.ibatis.binding.BindingException: Parameter ‘__frch_callRecord_0’ not found.)
异常现象
- 使用mbatis批量插入时、出现如下异常:
Caused by: org.apache.ibatis.binding.BindingException: Parameter '__frch_callRecord_0' not found.
解决思路
- Mbatis对此类问题的异常描述不是很清晰,如出现上诉异常,主要检查以下几个方面
- 批量插入的List对象中字段是否和数据库表中字段名一致并且都存在
- 批量插入的List对象中是否有NULL的对象(此原因很重要)
- 在Mbatis的XML或者注解的Sql语句中,是否传入的表字段和list字段一致