mybatis+mysql下批量插入一些问题,在这里记录一下,如下错误信息:
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 功能.然后在 services的实现类注入 DAO 再使用.
第一种情况:
在 DAO 中定义了一个批量插入的方法:
int delBatchPasswor(List<String> pwdl);
在 mapper.xml 中的实现:
<delete id="delBatchPasswor" parameterType="java.util.List">
delete from t_gateway_password where gateway_password in
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.gatewayPassword,jdbcType=VARCHAR}
</foreach>
</delete>
上面红色"item.gatewayPassword"写法是错误滴,有时候我们写着写着就就与混还以为传入的是一个对象,当我们定义传入的 List 集合中是 String,Integer等时mapper.xml 中的实现:
<delete id="delBatchPasswor" parameterType="java.util.List"> delete from t_gateway_password where gateway_password in <foreach collection="list" item="item" open="(" separator="," close=")"> #{item,jdbcType=VARCHAR} </foreach> </delete>
第二种情况:
我们在 DAO 中定义方法
int batchInsert(List<GatewayBusinessAh> list);
这里传入的对象是自定义的实体对象,一般是通过表自动生成,再看看在 mapper.xml 中的实现:
INSERT INTO t_gateway_business_ah ( id, gateway_uuid, business_code, business_code_boss, business_name, parameter_list, business_status, area_code, bandwidth, create_time, business_type, gateway_password, adsl_password, adsl_account, order_no, update_time, fail_count ) VALUES <foreach collection="list" index="index" item="item" separator=","> ( #{item.id,jdbcType=VARCHAR}, #{item.gatewayUuid,jdbcType=VARCHAR}, #{item.businessCode,jdbcType=VARCHAR}, #{item.businessCodeBoss,jdbcType=VARCHAR}, #{item.businessName,jdbcType=VARCHAR}, #{item.parameterList,jdbcType=VARCHAR}, #{item.businessStatus,jdbcType=VARCHAR}, #{item.areaCode,jdbcType=VARCHAR}, #{item.bandwidth,jdbcType=INTEGER}, #{item.createTime,jdbcType=INTEGER}, #{item.businessType,jdbcType=VARCHAR}, #{item.gatewayPassword,jdbcType=VARCHAR}, #{item.adslPassword,jdbcType=VARCHAR}, #{item.adslAccount,jdbcType=VARCHAR}, #{item.orderNo,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=INTEGER}, #{item.failCount,jdbcType=INTEGER} ) </foreach> </insert>
上面的错我找了很久都没有找到问题,我找问题步骤如下:
(1)查看parameterType的类型是不是java.util.List类型,如果是的话,看foreach 的collection属性是不是list.
(2)看一下foreach里面的"属性"是否写错或有没有传递进来,这里说一下"属性"好比上面"orderNo"是你实体对象中无此属性,我在网上看到有的说是"值"为空,感觉有些歧义.
上面排出错误的步骤都试了,可是还是没有找出问题.最后我对应表查看了字段:
字段中并没有"businessName"属性,因为是开发环境,所以这些问题是坑,不知道什么时候被删除了.
所以我们还要对应看foreach里面的"属性"是否表中字段对应得上.
相关推荐
然而,当你遇到“_frch_item_0 not found”这样的错误时,通常是由于在使用`<foreach>`时出现了配置或编码上的问题。下面我们将深入探讨这个问题及其解决方法。 首先,我们要理解这个错误通常表示MyBatis在尝试访问...
mybatis批量添加的时候报错总结报错 parameter'_frch_item_0 not found
PageHelper插件就是为了解决这一问题而设计的,它不仅实现了简单的物理分页,还支持动态SQL,使得在查询过程中可以根据不同的条件灵活调整分页策略。 标题中提到的“支持条件查询”是指PageHelper能够与Mybatis的...
充电器的重量减轻至210 kg,厚度仅为480 mm,相比之前的FRCH系列(700 kg,700 mm)实现了显著的减重和瘦身,有利于设备的安装和空间节省。 2. 操控盘功能与设计 FRCM系列的操控盘采用了轻薄的设计,使得用户界面...
数据结构是计算机科学中的核心课程,它探讨了如何在计算机中高效地组织和管理数据,以便于进行快速的检索、存储和操作。本压缩包“数据结构课程代码部分.zip”包含了一系列与数据结构相关的编程实践,是学习和理解数据结构理论的实用补充。 在数据结构的学习中,我们会接触到以下关键概念: 1. **数组**:最基本的存储结构,用于存储同一类型的数据元素。数组提供了通过索引访问元素的固定时间复杂度O(1)。 2. **链表**:链式存储结构,每个节点包含数据和指向下一个节点的指针。分为单链表、双链表和循环链表等。链表插入和删除操作比数组更灵活,但随机访问性能较差。 3. **栈**:后进先出(LIFO)的数据结构,主要用于实现递归、函数调用、表达式求值等。常见的操作有push(入栈)和pop(出栈)。 4. **队列**:先进先出(FIFO)的数据结构,常用于任务调度、打印队列等。基本操作包括enqueue(入队)和dequ。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
Redis,全称Remote Dictionary Server,是一款开源的、高性能的键值对存储系统,常被用于数据库、缓存和消息中间件的角色。它以其快速、灵活和数据持久化等特点,在IT行业中备受青睐。尤其是在Windows平台上,Redis提供了良好的支持,使得开发者在非Linux环境下也能便捷地使用Redis服务。 Redis支持多种数据结构,包括字符串、哈希表、列表、集合和有序集合,这些数据结构的设计使得它非常适合处理各种数据存储和处理任务。例如,字符串是最基础的类型,可以存储简单的文本或数字;哈希表则适合存储对象,每个键对应一个字段,字段的值可以是任意类型的键值对;列表允许存储有序的序列,可以进行两端插入和弹出操作;集合是无序且不重复的元素集合;有序集合则在集合的基础上增加了分数值,可以进行排序。 在Windows上安装Redis 6.2.6.4版本,首先需要下载zip压缩包“redis-window。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
分布式电源选址定容 Matlab编程 综合考虑投资成本、电压偏移量和线路网损,构建分布式电源定容选址的数学模型,通过启发式算法求解出分布式电源配置及最优选址。 注:对分布式电源不做区分!
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
基于模型预测控制 (MPC) 的联盟控制模型 (CCM),带有一个捕鱼模型来分配捕鱼船队,以通过穷举启发式搜索来最大化捕获的鱼。 资源内项目源码是均来自个人的课程设计、毕业设计或者具体项目,代码都测试ok,都是运行成功后才上传资源,答辩评审绝对信服的,拿来就能用。放心下载使用!源码、说明、论文、数据集一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 4、如有侵权请私信博主,感谢支持
内置式永磁同步电机IPMSM,最大转矩电流比MTPA控制仿真模型
OpenScenario场景仿真搭建 , OpenScenario是 自动驾驶仿真软件carla推出来的场景仿真标准,可配合carla一起完成整套自动驾驶的闭环仿真过程,将场景搭建变成可编程化的方式。 可以模拟出自动驾驶真实环境中出现的各种各样的路况环境,例如:被动超车场景、跟车变道场景、道场景等等。 本教程有完善的非常简单环境搭建说明文档,不依赖gpu、opengl等熏染工具,并配有简单清晰易懂的加载运行流程。 倘若您希望进一步了解学习场景文件是如何通过编辑编程实现的,您可以关注我们的另一个项目,OpenScenario场景仿真结构思维导图。 实实在在的工作经验总结 资料是一线自动驾驶工程师辛苦工作的结果,希望您尊重知识产权不要私自外传,由于工程师项目多,所以不做后技术服务和指导
配电网规划程序编写,配电网优化运行程序编写,分布式电源选址定容,电动汽车充电站选址定容,储能设备的优化配置。
基于PLC的升降横移立体停车库的设计,设计一个基于西门子S7-200 PLC控制核心的,三层三列,九个车位的立体停车控制系统。 目录3 1 绪 论4 2 设计要求5 3 硬件设计8 3.1 PLC型号的选择和确定8 3.2 主电路设计8 3.3 控制电路图11 3.4 PLC输入和输出地址分配表13 3.5 PLC接线图14 4 程序设计17 4.1 PLC 内部使用地址分配17 4.2 流程图17 4.3 PLC梯形图20 4.4 PLC语句表程序27 5 组态画面的设计28 5.1通信建立28 5.2 组态王变量连接31 5.3 建立画面33 5.4 运行35 结束语38 参考文献39 致 谢40 附 录41 附录1 PLC语句表程序41 附录2 组态王命令语言82
串口调试助手软件,socket通信调试助手软件。 很好用的两个助手软件功能强大,侦测,拦截,逆向分析串口通汛协议,是RS232 422 485串行端口的专业工貝软件
基于单片机的设计的声光双控智能路灯,包含仿真,程序,参考文
labview yolov5 onnxruntime推理,封装dll, labview调用dll,支持同时加载多个模型并行推理,可cpu gpu, x86 x64位,识别视频和图片,cpu速度100ms,gpu26ms,只需要替模型的onnx和nameclass即可
BUCK电路的仿真,simulink仿真 采用PI闭环方式进行控制。 了解BUCK变器的基本原理,并对BUCK变器进行仿真,研究其控制方式与及其基本功能,观察关键节点的波形。 输入电压12V,输出电压1.2V,使用PI闭环进行调节,开关频率为90kHz。 各个部分参数如下所示。
===如资源质量问题,可半价退款,代下全网资源,价格公道==== VNC(Virtual Network Computing)远程软件是一种基于图形用户界面的远程控制技术,它允许用户通过网络访问并控制另一台计算机的桌面。VNC系统由两部分组成:服务器端(VNC Server)和客户端(VNC Viewer)。在远程计算机上安装VNC Server后,任何拥有VNC Viewer的设备都可以连接到该服务器,实现对远程计算机的实时操作。 VNC的核心工作原理是利用RFB(Remote Framebuffer)协议,该协议负责在远程服务器和客户端之间传输屏幕图像和键盘鼠标输入。当用户在客户端进行操作时,这些操作会通过网络发送到服务器,服务器则更新其显示并反馈给客户端,从而实现远程控制。 VNC有多种实现,例如RealVNC、 TightVNC 和 UltraVNC等。其中,"VNC4"可能是特定版本或变种的代号,可能包含一些特定功能或优化。具体的功能和特性通常会在版本更新中有所改。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
Redis是世界上最受欢迎的开源内存数据结构存储系统,它可以用作数据库、缓存和消息代理。在本压缩包中,我们有三个版本的Redis,分别是Redis 7.0.9、Redis 5.0.14的Linux版和Windows版。接下来,我们将详细探讨如何在这些操作系统上安装和使用Redis。 **Redis 5.0.14 for Linux** 1. **下载与解压**:你需要从提供的压缩包中提取`redis-5.0.14.tar.gz`到你的Linux系统。通常,你可以使用`tar -zxvf redis-5.0.14.tar.gz`命令来解压文件。 2. **编译与安装**:进入解压后的目录,例如`cd redis-5.0.14`,然后运行`make`进行编译,接着执行`sudo make install`进行安装。这将把Redis二进制文件安装到系统默认的可执行路径,通常是`/usr/local/bin`。 3.。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。