`

[解决]Parameter '__frch_item_0' not found. Available parameters are [list]

 
阅读更多

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里面的"属性"是否表中字段对应得上.

 

 

  • 大小: 217.9 KB
分享到:
评论

相关推荐

    mybatis中foreach报错:_frch_item_0 not found的解决方法

    然而,当你遇到“_frch_item_0 not found”这样的错误时,通常是由于在使用`&lt;foreach&gt;`时出现了配置或编码上的问题。下面我们将深入探讨这个问题及其解决方法。 首先,我们要理解这个错误通常表示MyBatis在尝试访问...

    mybatis批量添加

    mybatis批量添加的时候报错总结报错 parameter'_frch_item_0 not found

    支持条件查询的Mybatis分页插件

    PageHelper插件就是为了解决这一问题而设计的,它不仅实现了简单的物理分页,还支持动态SQL,使得在查询过程中可以根据不同的条件灵活调整分页策略。 标题中提到的“支持条件查询”是指PageHelper能够与Mybatis的...

    电动汽车用快速充电器FRCM系列.pdf

    充电器的重量减轻至210 kg,厚度仅为480 mm,相比之前的FRCH系列(700 kg,700 mm)实现了显著的减重和瘦身,有利于设备的安装和空间节省。 2. 操控盘功能与设计 FRCM系列的操控盘采用了轻薄的设计,使得用户界面...

    springboot367高校汉服租赁网站--论文pf.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    H.264 视频编码参数优化及其质量度量技术的应用与研究

    内容概要:本文探讨了视频编码参数优化的方法和技术,尤其是针对H.264标准。首先介绍了背景信息及优化编码配置的重要性和必要性。文中详细讨论了两种关键应用实例——宏块级别的自适应量化(Adaptive Quantization)和量化矩阵(Quantization Matrix),并利用多维数值搜索方法之一 downhill simplex 来进行参数调整,实现了比特率减少和视觉质量提升。同时,引入了一种有效的视频质量度量工具—VQM,可以很好地替代主观评价手段并用于训练最佳编码参数配置。 适合人群:对视频压缩感兴趣的研究员以及从事流媒体传输的技术工作者,特别是已经掌握基本视频编码概念的专业人士。 使用场景及目标:通过合理的量化策略改进视频编码效率,适用于各种视频传输系统的设计开发阶段;追求更高水平的质量测量来评估实际性能表现。 其他说明:文中还提到一些未来研究方向,例如进一步探索量化矩阵与人类视觉系统之间的关系等。

    光伏电池组件模型 根据相关原理自己搭建的单个模块 PV曲线,IV曲线如效果图所示 matlab simulink plecs模型 ~

    光伏电池组件模型 根据相关原理自己搭建的单个模块 PV曲线,IV曲线如效果图所示 matlab simulink plecs模型 ~

    基于PLC的门禁系统设计自动门禁电气控制

    基于PLC的门禁系统设计自动门禁电气控制

    PS精美画笔笔刷700款

    非常实用的PS插件,有效提高工作效率。

    基于IEEE33节点的配电网重构,采用最优流法(和粒子群算法)开展了配电网重构工作,得到重构方案,应打开的开关数等,同时对比了重构前后的网损和电压结果

    基于IEEE33节点的配电网重构,采用最优流法(和粒子群算法)开展了配电网重构工作,得到重构方案,应打开的开关数等,同时对比了重构前后的网损和电压结果

    UWB DW1000 超宽带 定位模块 高精度双边测距 卡尔曼滤波 人员位置 本系统使用CH32F103C8T6通过SPI接口控制Decawave公司的DW1000芯片,采用官方c语言库,代码

    UWB DW1000 超宽带 定位模块 高精度双边测距 卡尔曼滤波 人员位置 本系统使用CH32F103C8T6通过SPI接口控制Decawave公司的DW1000芯片,采用官方c语言库,代码全开源,可以非常方便的移植到各个平台. 2块本产品后本店提供测距源代码,5块本产品后本店提供定位的源代码。 3D定位部分采用了最小二乘法获取初始坐标,采用了扩展卡尔曼滤波获取动态的坐标非常具有参考价值

    新年网页,页面加载时会显示新年祝福,背景中有动态飘落的雪花

    代码说明: 页面布局与样式: 使用了linear-gradient设置了背景渐变色,营造节日气氛。 通过font-family和text-shadow为字体添加了特殊效果,使其更符合新年气氛。 雪花动画: 在页面顶部创建了雪花的HTML元素,并通过CSS动画@keyframes fall使其从顶部飘落到底部,模拟雪花飘落的效果。 新年祝福与倒计时: 页面上会显示新年快乐!的祝福,且通过fadeIn动画让它在页面加载时渐显。 利用JavaScript设置了一个倒计时,展示到下一年(假设新年是2025年1月1日00:00:00),并每秒更新。 按钮交互: 页面上有一个按钮,点击后会弹出一个祝福提示框,祝福语为“愿新的一年,心想事成,万事如意!” 如何使用: 将上述代码复制并粘贴到一个HTML文件(如 new_year.html)。 用浏览器打开该文件,你将看到页面的祝福、倒计时、雪花效果和按钮交互。 功能: 页面加载时会显示新年祝福,背景中有动态飘落的雪花。 页面中会实时显示新年倒计时,显示直到2025年1月1日。 通过点击按钮,用户可以收到新年祝福。

    大一上学期C++课程设计(学生管理系统)

    系统功能描述:显示学生,查找学生(支持模糊查找),排序功能,删除功能,功能查找(支持分数段查找),统计功能(成绩数据分析:平均分、标准差、合格率),写入文件等。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    win-redis6压缩包 解压即用

    Redis 是一个高性能的键值数据库,它在许多应用程序中被广泛使用,特别是在需要高速数据存储和检索的场景。"win-redis6压缩包 解压即用" 提供的是 Redis 的 Windows 版本,版本号为 6.0.16。这个压缩包是为了方便在 Windows 操作系统上快速部署和使用 Redis 而设计的。 Redis 6.0.16 版本带来了许多改进和新特性: 1. **多线程支持**:Redis 6 引入了多线程模式,通过后台线程处理网络 I/O,提高了处理大量并发连接的能力,从而提升了性能。这使得 Redis 在高并发场景下表现更优。 2. **Stream 数据结构增强**:Redis 6 对 Stream 数据结构进行了增强,增加了新的命令,如 XREADGROUP、XINFO 和 XCLAIM,使得 Stream 更适合用于日志记录、消息队列等用途。 3. **lua脚本安全增强**:Lua 脚本。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    springboot378陕西理工大学奖学金评定管理系统的开发boot.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    C/C++-数据结构-成绩管理系统-课程设计-大学生课设

    本项目已在Linux环境下调测通过。 采用C++编写 请直接使用 make 编译,编译后会生成 GradeManage 可执行文件, 执行./GradeManage 即可运行 有任何疑问请通过csdn私信联系我 如想在windows下编译,vs可直接导入源文件以及头文件 主页面: 成绩管理分析系统 菜单 1,添加学生信息! 2,查询学生信息! 3,修改学生信息! 4,对学生信息进行分析! 5,对所开课程的成绩分析! 6,对学生考试成绩进行排名 7,删除学生信息! 8,显示所有学生信息! 0,退出该系统! 查询页面 1,按系别查询! 2,按班级查询! 3,按高数成绩查询! 4,按英语成绩查询! 成绩排名页面 1,以班级单科进行排名! 2,以系别单科进行排名! 3,学生总体成绩进行排名! 学生成绩分析 1,按系对学生信息进行分析! 2,按班对学生信息进行分析!。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    matlab函数曲线图像数据提取,图像复现与重绘,图像修改与后处理(暂不支持曲线拟合、公式提取以及FFT频谱分析) 给图就能画,出图时间快(图少10分钟左右即可) 最终发送原始图像数据文件和绘图完整

    matlab函数曲线图像数据提取,图像复现与重绘,图像修改与后处理(暂不支持曲线拟合、公式提取以及FFT频谱分析)。 给图就能画,出图时间快(图少10分钟左右即可) 最终发送原始图像数据文件和绘图完整程序,程序编写思路清楚简洁,每句都有注释,不熟悉m语言编程的人也能快速理解和修改

    No.855 基于S7-200 PLC和组态王的6层电梯六层电梯控制 带解释的梯形图程序,接线图原理图图纸,io分配,组态画面

    No.855 基于S7-200 PLC和组态王的6层电梯六层电梯控制 带解释的梯形图程序,接线图原理图图纸,io分配,组态画面

    install termius.exe

    install termius.exe

    关键词:混合储能,VMD,麻雀搜索算法,遗传算法,混合储能容量配置优化,混合储能功率分配,利用智能算法优化参数的自适应变分模态分解,VMD实现混合储能系统的分频,高频分配给超级电容器,低频分配给蓄电池

    关键词:混合储能,VMD,麻雀搜索算法,遗传算法,混合储能容量配置优化,混合储能功率分配,利用智能算法优化参数的自适应变分模态分解,VMD实现混合储能系统的分频,高频分配给超级电容器,低频分配给蓄电池或锂离子电池,软件:MATLAB实现

Global site tag (gtag.js) - Google Analytics