MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错
最近在项目中有这么一段代码:下载服务器基础业务数据进行本地批量插入操作,因项目中使用mybatis进行持久化操作,故直接考虑使用mybatis的批量插入功能。 lotWithVehicleCodes); } > map) { List StringBuilder sb = new StringBuilder("INSERT INTO MTC_LOT_WITH_VEHICLE_CODE (LOT_CODE,PRODUCT_VEHICLE_CODE) VALUES "); MessageFormat messageFormat = new MessageFormat("(" + lotWithVehicleCodeBOs) { if(null != lotWithVehicleCodeBOs && lotWithVehicleCodeBOs.size()>0) { printMapper.insertAllLotWithVehicleCode(lotWithVehicleCodeBOs); } } 程序上线的时候没有发生问题,在业务量猛增的时候,大约同时执行500条以上的时候程序就开始报错: 异常已指明SQL语句构建问题,DEBUG进去: 问题根源: 当size达到3位数以上时构建出的message为: messageFormat.format(new Object[]{i+""} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |