解决Parameter '__frch_item_0' not found. Available parameters are [list]
2018-01-27 12:30
851 查看
业务场景:
使用mysql+mybatis进行批量插入时报出如下错误:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter '__frch_item_0' not found. Available parameters are [list]在使用批量插入时我们通常在DAO层定义一个接口方法,然后在对应的mapper.xml中实现相应的sql语句,具体方法如下:DAO层: public interface ObInternalCheckSerialNoDTODao { boolean insertObInternalCheckSerialnoDTO(List<ObInternalCheckSerialNoDTO> checkSerialNoDTOList); }在mapper.xml中的实现:
<insert id="batchInsert" parameterType="java.util.List"> insert into OB_INTERNAL_CHECK_SERIALNO (OUTBOUND_NO,GOODS_NO,GOODS_NAME,GOODS_SERILNO,TRANS_SN,BOX_NO,CREATE_TIME, CREATE_USER,UPDATE_USER,UPDATE_TIME,ORG_NO,DISTRIBUTE_NO,WAREHOUSE_NO) values <foreach collection="list" index="index" item="item" separator=","> ( #{item.outboundNo,jdbcType=VARCHAR},#{item.goodsNo,jdbcType=VARCHAR},#{item.goodsName,jdbcType=VARCHAR},#{item.goodsSerialNo,jdbcType=VARCHAR}, #{item.transSn,jdbcType=VARCHAR},#{item.boxNo,jdbcType=VARCHAR},now(),#{item.createUser,jdbcType=VARCHAR},#{item.updateUser,jdbcType=VARCHAR},now(), #{item.orgNo,jdbcType=VARCHAR},#{item.distributeNo,jdbcType=VARCHAR},#{item.ware HouseNo,jdbcType=VARCHAR} ) </foreach> </insert>实例对象:
public class ObInternalCheckSerialNoDTO { public String outboundNo; public String goodsNo; public String goodsName; public String goodsSerialNo; public String transSn; public String boxNo; //...省略其他属性 public String orgNo; public String distributeNo; public String warehouseNo;
解决办法:
网上查了好多方法,自己也调试了半天,一直没有找出错误,最后找到一篇比较靠谱的解决方法,说是出现这种情况,一般都是对象属性与mapper中的属性不一致导致的,那就直接去找对象属性(其实这样代码单独贴出来错误已经很明显了)这里一个小tip,使用复制对象属性去查找mapper中的属性,Ctrl+F时记得开大小写匹配(ps:之前没开找了好几次也没找到哈哈),最后定位到问题所在,wareHouseNo与mapper中属性不匹配,简直了,这个不知道之前是谁写的,所以驼峰式命名规范很重要!!!相关文章推荐
- mybatis 批量增加 Parameter '__frch_item_0' not found. Available parameters are [list]
- Parameter '__frch_item_0' not found. Available parameters are [list]
- Parameter '__frch_item_0' not found. Available parameters are [list]错误
- mybatis 批量增加 Parameter '__frch_item_0' not found. Available parameters are [list]
- mybatis 批量增加 Parameter '__frch_item_0' not found. Available parameters are [list]
- mybatis 批量增加 Parameter '__frch_item_0' not found. Available parameters are [list]
- 关于mybatis批量保存 Parameter '__frch_item_0' not found. Available parameters are [list]的错误
- mybatis 批量增加 报异常 Parameter '__frch_item_0' not found. Available parameters are [list]
- Parameter '__frch_item_0' not found. Available parameters are [list]
- mybatis 批量增加 Parameter '__frch_item_0' not found. Available parameters are [list]
- Parameter '__frch_item_0' not found. Available parameters are [list]问题
- Parameter '__frch_item_0' notfound. Available parameters are [list]
- 解决使用mybatis做批量操作时发生的异常:Parameter '__frch_item_0' not found. Available parameters are [list] 记录
- mybatis批量插入函数报“Parameter '__frch_item_0' not found. Available parameters are [list]”错误
- mybatis 批量增加 Parameter '__frch_item_0' not found. Available parameters are [list]
- 当在mybatis用到foreach的时候,会报这个错误Parameter '__frch_item_0' not found. Available parameters are [list]会出现的
- Parameter '__frch_item_0' not found. Available parameters are [list]
- Mybatis foreach异常Parameter '__frch_item_0' not found. Available parameters are [list]
- mybatis 批量增加 Parameter '__frch_item_0' not found. Available parameters are [lis
- mybatis 批量增加 Parameter '__frch_item_0' not found. Available parameters are [list]