org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found.原因及解决方法

nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘xxx‘ not found错误的详细解决方法 nested exception is org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found. Available parameters are [xxx]错误的详细解决方法 阅读详情

前言:出现这个问题的原因有好几个,所以我们逐步的来解释并解决问题;

1、首先,要明确一点的是,Dao层的抽象方法中的参数一般情况下默认的是一个参数或者一个对象;
例如:

  
  1. public interface StudentDao {
  2. int selectById(int id);
  3. int insert(Student stu);
  4. }

这两种是正常的方式,不会出现什么问题,mappper中的对应取值都是用#{}这种方式;
例如:

  
  1. <select id="selectById" resultMap="BaseResultMap">
  2. select
  3. <include refid="Base_Column_List" />
  4. from student
  5. where 1=1 and id = #{id}
  6. </select>

  
  1. <insert id="insert" parameterType="com.yoho.crm.dal.model.student"> <!--注意参数的类型要与对象类对应,也就是这个类的路径-->
  2. insert into inbox_template (name,age)
  3. values (#{name},#{age})
  4. </insert>

 上面如果是student对象作为参数,那么mapper中不能少了parameterType,否则会找不对应的属性 
 
2、当传多个参数时,就容易出现问题了,问题重现,如果像下面那样写就会出现标题中的错误,找不到参数;
 

  
  1. public interface StudentDao {
  2. int selectBySelective(int id,String name);
  3. }
解决办法就是在每个参数前加上@param注解,括号中注解的名称就是mapper中映射的值,如下:

  
  1. <code class="language-java">import org.apache.ibatis.annotations.Param;  
  2.   
  3. public interface StudentDao {  
  4.   
  5.       
  6.     int selectBySelective(@Param("id")int id,@Param("name")String name);  
  7.       
  8. }</code>  

  
  1. import org.apache.ibatis.annotations.Param;
  2. public interface StudentDao {
  3. int selectBySelective(@Param("id")int id,@Param("name")String name);
  4. }
mapper中还是那样写,可以使用${}或者#{}任意一种方式:

  
  1. <select id="selectBySelective" resultMap="BaseResultMap">
  2. select
  3. <include refid="Base_Column_List" />
  4. from student
  5. where name = #{pname} and id = #{pid}
  6. </select>
3、既有参数又有对象时,对象也需要注解,一般参数的直接取,对象的需要对象.属性,如下:

   
  1. public interface StudentDao {
  2. int selectBySelective(@Param("page")int page,@Param("stu")Student stu);
  3. }
mapper:

   
  1. <select id="selectBySelective" resultMap="BaseResultMap">
  2. select
  3. <include refid="Base_Column_List" />
  4. from student
  5. where name = #{stu.name} and id = #{stu.id} limit 0 ,#{page}
  6. </select>
4、像这种有公共的属性,例如分页都要传开始的index和pagesize,然后还要在传对象,就是3中的案例,可以为了方便管理,自己再新建一个类,里面封装了page的属性,同时又有对象,如下:
建一个page类:

    
  1. public class Page {
  2. private int pageNo;
  3. private int pageSize;
  4. private Object obj;
  5. public Page(int page,int pageSize,Object obj){
  6. this.pageNo=page;
  7. this.pageSize=pageSize;
  8. this.obj=obj;
  9. }
  10. public int getPageNo() {
  11. return pageNo;
  12. }
  13. public void setPageNo(int pageNo) {
  14. this.pageNo = pageNo;
  15. }
  16. public int getPageSize() {
  17. return pageSize;
  18. }
  19. public void setPageSize(int pageSize) {
  20. this.pageSize = pageSize;
  21. }
  22. public Object getObj() {
  23. return obj;
  24. }
  25. public void setObj(Object obj) {
  26. this.obj = obj;
  27. }
  28. }

在处理时直接new page对象中自己定义好的构造函数,然后直接把page作为参数传到dao:

    
  1. Student stu = new Student();
  2. stu.setName( "aa");
  3. stu.setId( 1);
  4. stu.setAge( 12);
  5. Page page = new Page( 1, 10,stu);

dao:


    
  1. public interface StudentDao {
  2. int update(Page page);
  3. }

mapper:

    
  1. <update id="update" parameterType="com.yoho.crm.dal.model.student"> <!--此时obj则是对应page中的属性了-->
  2. update inbox_template
  3. set
  4. name = #{obj.name},
  5. age = #{obj.age}
  6. where id = #{obj.id}
  7. </update>









转载地址:https://blog.youkuaiyun.com/qq_33142257/article/details/53202443
LK启动流程深度解析:从硬件初始化到内核加载的MTK平台实践 本文深度解析了MTK平台上LK(Little Kernel)的完整启动流程。从硬件初始化、内存管理(MMU/Cache)开启,到多线程环境建立,再到内核镜像加载与安全校验,详细阐述了LK如何作为Bootloader核心,完成从芯片上电到成功引导Linux内核的关键任务,是MTK平台开发者必须掌握的核心知识。 阅读详情

相关推荐

Windows 11下WSL2安装CUDA避坑指南:从驱动版本匹配到环境变量配置

本文详细解析了在Windows 11的WSL2中搭建CUDA开发环境的完整流程与核心避坑要点。关键在于理解“驱动在Windows,工具链在Linux”的独特架构,并确保显卡驱动与CUDA Toolkit版本严格匹配。指南涵盖了从驱动验证、WSL-Ubuntu专用仓库安装、环境变量配置到GCC版本冲突、GPU算力不匹配等常见问题的解决方案,帮助开发者高效构建稳定的深度学习与高性能计算环境。

smartcontract5的博客 466

mybatis 报错:Caused by: org.apache.ibatis.binding.BindingException: Parameter ‘‘ not found

问题描述: Caused by: org.apache.ibatis.binding.BindingException: Parameter '' not found 问题原因: (1)可能是 mybatis 的xml,对应的mapper接口缺少@Param注解,或者@Param注解的value与xml的不一致。 xml示例: <select id="selectBy" parameter...

Cyms,BgXmSfXtsj !!!! Battle Each Moment !!!! 4720

Ansys Lumerical + HFSS + optiSLang 三剑客:手把手教你优化行波MZM调制器(附完整参数配置)

本文详细介绍了如何利用Ansys Lumerical、HFSS和optiSLang三款工具构建自动化协同设计流程,以优化行波马赫曾德尔调制器(TW-MZM)的性能。通过参数化仿真、流程集成与元模型技术,该方案能高效解决多物理场耦合挑战,实现调制带宽、驱动电压等多目标的全局优化,显著提升光子集成芯片的设计效率与性能潜力。

weixin_29251131的博客 583

ibatis.binding.BindingException: Parameter 'xxx' not found

问题:使用mybatis框架,可以自己写相应的sql语句,非常的方便.但是在调用dao层某个方法时报错org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found,Available parameters are [0, 1, param1, param2] 原因:那是因为我们自己定义的方法中,参数不止一个,当有多个参

zhanglei500038的博客 1万+

Java对接(BSC)币安链 | BNB与BEP20的开发实践(三)水龙头 WEB3

这一节我们讲一个币安测试链如何获取到BNB、USDT等BEP20数字货币(水龙头)来让我们前期测试开发。如图:我们将创建的地址填入相应输入框,来获取到测试BNB以及其他BEP20数字币。发币可能需要交易等待,请耐心等待即可,交易完成后,币会到达您的地址内。上一节我们用代码来实现BNB转账、BEP20转账、链上交易监控。2.MetaMask(小狐狸)浏览器插件 🪜。使用EDGE浏览器可以在浏览器直接打开。使用Chrome浏览器,请使用🪜打开。基本工作就绪后,即可进行开发测试。3. 测试区块链浏览器 🪜。

大猩猩的专栏 2790

Android13系统设置第三方app为设备所有者

DevicePolicyManagerService.java文件所在目录是frameworks/base,记得将包类名换成自己app的。2. 将拷贝到系统分区下的两个xml文件继续通过init.rc服务拷贝到data/system/目录下并修改权限。1. 拷贝设备所有者和设备管理器两个对应的xml文件到系统分区。

wzh048503的博客 2502

org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found.

org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found. Available parameters are [uid, password, param1, param2]] org.mybatis.spring.MyBatisSystemException: nested exception is org.a...

七月 5735

[HQChart教程] 去掉“仅学习使用”文字提示的小技巧

最近用 HQChart 做图表时,发现左下角有“仅学习使用”的字样。这种水印虽然是默认的,但如果要展示给客户,可能会显得不够专业。还好,这个问题很好解决,只需要简单修改一下配置。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 598

MyBatis 传List参数 nested exception is org.apache.ibatis.binding.BindingException: Parameter 'idList' n

在MyBatis传入List参数时,MyBatis报错:nested exception is org.apache.ibatis.binding.BindingException: Parameter 'idList' not found. Available parameters are [collection, list]","request_id":"fe7f7f815c1995a6015

Paul 7433

以太网_RGMII接口与GMII接口的转化_03

RGMII接口转GMII接口!

weixin_42499230的博客 378

042_小驰私房菜_MTK Camera yuv旋转90度方案

做旋转可以在app层接收到数据后,自行做旋转,也可以在hal层,针对yuv format这路流进行旋转。那我们做旋转也可以采用类似的方式。预览和录像是正常的,这个是因为预览和录像有方向相关属性可以调整,系统会根据摄像头mount的角度已经当前设备的方向,进行对应的旋转。这个下面这个文件,可以修改摄像头的mount角度。,可以看到前摄的Orientation是270,所以原始出图是做了90度的旋转。这个方案,思路就是在配流信息中,将rotation信息进行修改。注:本文章所用权归:小驰成长圈,禁止转载宣传!

587

解决异常-nested exception is org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found

今天自己在撸代码的时候一时手误,出现了异常,异常信息是: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'roleIdList' not found. Available parameters are [...

代码洁癖症患者 8万+

湿式双离合器自动变速器simulink建模与仿真

随着汽车工业的不断发展,自动变速器在提高汽车性能、驾驶舒适性和燃油经济性等方面发挥着越来越重要的作用。湿式双离合器自动变速器(Wet Dual-Clutch Transmission,简称 WDCT)作为一种先进的自动变速器技术,具有换挡速度快、动力传递平稳、燃油经济性好等优点,被广泛应用于各类汽车中。结构组成湿式双离合器自动变速器主要由双离合器、齿轮传动系统、液压控制系统和电子控制系统等部分组成。双离合器:由两个独立的离合器组成,分别控制奇数挡和偶数挡。通过切换两个离合器的工作状态,可以实现快速换挡。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 348

nested exception is org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found报错

今天遇到mybatis的报错,搞了好久才搞懂,相信也能解决大部分人的报错。 报错信息如下: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'roleIds' not found. Available pa...

Wookpeck的博客 7万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

解决:nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘XXX‘ not found

报错信息 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found. Available parameters are [0, 1, param1, param2] 报错原因 1、在使用mybatis开发的时候,有时候需要传入多个参数进行查询,当传入多个参数时,不处理便会出现上面的异常报错,这时需

weixin_45974176的博客 6万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

使用了@Param,还是出现nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘XXX‘ 错误

使用了@Param,还是出现nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘XXX’ 错误 碰到问题的过程 开发的时候出现了以下错误: nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘XXX’ not found. 看到这个错误的时候第一反应就是Dao层没有加@Param注解出现错误。但是去看Dao层的

从零到1% 4164

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

org.apache.ibatis.binding.BindingException: Parameter ‘xxx‘ not found. Available parameters are ...

使用 @Param 注解。

风也温柔☆的博客 754

nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘id‘ not found. Available

nested exception is org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available

19.2.04.157N的博客 4976

Mybatis中的@Param注解(org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found异常处理)

当方法只有一个参数时,不需要加上@Param。如果这个参数是POJO且在SQL语句中需要使用其属性,使用#{属性名}既可以引用。 当有多个参数时,如果不加上@Param,会抛出如下异常: @Insert("insert into tb_category_brand(category_id,brand_id) values(#{categoryID},#{brandId});") int saveC...

盛夏与微风 4052

org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found.

1. 情景重现 1.1 Mapper 代码 public interface DeviceFileInfoVOMapper { List<QueryFileDTO> selectVideoByField(String devId, Long chl, Date startTime, Date endTime, Pagination pagination); ...

weixin_30734435的博客 368

java报nested exception is org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found错误解决方法

在写一个分页功能的时候用到了mybatis插件,当传入参数的时候报如下错误,折腾了很久,也没有发现错误,代码层找人看了也没有任何问题,现在已解决,记录经过以备忘 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter '...

weixin_45770112的博客 7332

ibatis.binding.BindingException: Parameter 'XXX' not found

问题背景:对一个取数方法添加一个新的查询条件,修改后报错 ibatis.binding.BindingException: Parameter 'XXX' not found 添加参数前取数方法: @Select("select " + "* " + "from orders " + "where ORDER_ID = #

BraveWangDev 9059

mybatis方法多个参数时报错:Caused by: org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found

被这个问题坑到了,记录一下。问题描述:当在mybatis框架中使用的查询语句中包含多个参数 会出现找不到参数的情况!解决办法为方法中的参数加上注解指定参数

编号0347 2万+

错误sted exception is org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found. Available

抛这个错误都是xml找不到dao层给的参数,然后我就检查了参数发现是对的,注解也加了 贴代码: List<Map<String,Object>> nearbyGoods(@Param("lng") String lng, @Param("lat") String lat); <!-- 获取附近的商品 --> <select id="nea...

xiaolin_2016的博客 1411

org.apache.ibatis.binding.BindingException: Parameter ‘xxx‘ not found. Available parameters are {x,}

在进行分页查询时出现了如下错误: org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found. Available parameters are {arg1,arg0,param1,param2} 代码如下: @Select("select * from user limit #{pageNum},#{pageSize}") List<User> selectPage(Integer pageNum,

鲨鱼亲吻小鹿的博客 1984

nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘xxx‘ not found.

nested exception is org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found.

cyyyou_的博客 495
上一篇: win10去除桌面快捷方式图标(亲测可用)
下一篇: 解决windows下Tomcat启动时报错Port 8081 required by Tomcat v8.0 Server is already in use. .端口被占用
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值