13.MyBatis报错:Error querying database. Cause: org.apache.ibatis.binding.BindingException: Parameter

MyBatis 参数 本文中所有的Java Mapper方法参数都是未使用@Param参数声明参数的即Mybatis默认参数访问名称。Mybatis方法参数单个基本参数时,XML默认访问参数名称可以是随意字符串。Mybatis方法参数是单个Collection参数时,XML默认访问参数名称可以是arg0, collection, list中任意。Mybatis方法参数是 单个Map参数时,XML默认访问参数名称是Map的key 阅读详情

我做的功能是根据id和lastName查找一条员工信息记录。

public Employee getEmpByIdAndLastName(Integer id,String lastName);
 <select id="getEmpByIdAndLastName" resultType="com.fzl.mybatis.bean.Employee" databaseId="mysql">
        select * from tbl_employee where id = #{id},last_name = #{lastName}
	</select>

当传递多个参数给sql映射文件时,报错:
在这里插入图片描述

这个错误与mybatis处理参数机制有关。
当传入多个参数的时候,mybatis会做特殊处理。多个参数会被封装成一个map。其中,key:param1…paramN,或者参数的索引也可以,value:传入的参数值。
而#{}就是从map中获取指定的key的值;因此这时候,我们依然使用#{id},#{lastName}就会报错。
解决办法:
明确指定封装参数时map的key;

public Employee getEmpByIdAndLastName(@Param("id") Integer id,@Param("lastName")String lastName);

这样就可以了。
多个参数会被封装成 一个map,
key:使用@Param注解指定的值
value:参数值
#{指定的key}取出对应的参数值

org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache. 在xml文件中碰到这样的报错的时候,有可能是你在里面使用了这种注释,编译会报错,可能这就是约定大于配置 org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='id', mode=IN 阅读详情

相关推荐

解决UE5像素流三大痛点:鼠标锁定/双光标/自动播放(附app.js魔改指南)

本文针对UE5像素流服务在实际应用中常见的鼠标锁定、双光标和自动播放三大交互痛点,提供了深入的技术分析和解决方案。通过详细解析app.js源码,指导开发者如何修改控制方案、修复光标显示以及实现静音自动播放,旨在提升Pixel Streaming应用的用户体验与专业度。

weixin_28025327的博客 345

解决:Error querying database. Cause: org.apache.ibatis.binding.BindingException: Parameter ‘username‘

org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'username' not found. Available parameters are [arg1, arg0, param1, param2] ### Cause: org.apache.ibatis.binding.

qq_53376718的博客 815

从零构建:基于Docker与FRR的OSPF虚拟网络实验室

本文详细介绍了如何利用Docker与FRR构建OSPF虚拟网络实验室,从环境设计到高级网络拓扑配置,再到实验验证与排错。通过容器化技术实现高效资源利用和快速部署,特别适合网络协议教学、企业网络架构验证等场景。

plum99的博客 194

org.apache.ibatis.binding.BindingException: Parameter ‘name‘ not found.

> ###Error querying database. > Cause: org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [student, page, param1, param2] 报错内容说无法获取名为'name'的元素,可获取的元素是[student, page, param1, param2]

qq_44985812的博客 8015

Cause: org.apache.ibatis.binding.BindingException: Parameter ‘xx‘ not found.

Error updating database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]

qq_54141095的博客 6256

org.apache.ibatis.binding.BindingException: Parameter ‘status‘ not found.

从控制层传入的参数,在mapper文件中接收时,要使用@Param注解来进行接收,否则就会不知道哪个参数传的是哪个位置。在原代码的基础上添加@Param注解。修改完之后,成功获取参数。

jqtt123的博客 2779

解决mybatis不能正确获取参数的问题,错误:### Error querying database. Cause: org.apache.ibatis.binding.BindingExcept

Mapper代理接口UserMapper里定义了login方法和register方法(方法名与对应select标签的id相同)这样就能正确的传入参数执行程序了。

xjdkjsnsns的博客 571

Cause: org.apache.ibatis.binding.BindingException: Parameter 'username' not found异常

# Error querying database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'username' not found. Available parameters are [arg1, arg0, param1, param2] ### Cause: org.apache.ibatis.bindin...

淡烟疏雨的博客 3354

mybatis问题BUG集

报错说明1:org.apache.ibatis.binding.BindingException: Type interface com.jt.mapper.UserMapper is not known to the MapperRegistry. 解决方案1: 检查namespace命名是否与接口一致 报错说明2: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.jt.m.

wohaoniua的博客 652

2020.一月 bug记录 Mybatis学习

1、### Error querying database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available parameters are [array] 在UserMapper.xml文件中, 使用foreach时, 没有使用属性 item 更正后: ...

thing15636的博客 317

org.apache.ibatis.binding.BindingException 异常报错原因及解决方案

BindingException 异常报错原因及解决方案

weixin_46030002的博客 3万+

mybatis问题org.apache.ibatis.binding.BindingException: Parameter ‘title‘ not found.

Caused by: org.apache.ibatis.binding.BindingException: Parameter 'title' not found. Available parameters are [1, 0, param1, param2] 方法要这样写: void insertData(@Param("id")String id, @Param("title")

yangguangxiadeshu的专栏 4万+

mybatis报错____4Error querying database Cause: org.apache.ibatis.binding.BindingException: Parameter ...

在进行getBillList的模糊查询时,报的错,原因是接口中的参数传递问题,正确姿势: 在BillMapper接口中,给参数前加上@Param( "传递的形参名" ),值得注意的是在mapper.xml配置文件中,要获得该参数值就得使用这个"传递的形参名" 。 //3.通过条件查询获取Bill的列表(两张表) providerName在bill表中没有该字段 ...

1665

mybatis遇到问题解决方法---- Error querying database.

程序员快乐多,找bug,一个又一个,感觉还不错。 今天来说说映射的问题,这个问题通常会在什么时候出现呢? 大家肯定能想到的就是再进行数据库查询的时候,不错,按照规则,我们通常会将数据库字段多单词之间用下划线连接(stu_no,stu_name……),而我们在写java实体bean(也称entity)时,通常采用驼峰命名法(stuNo,stuName……),如稍不注意,则会出现查找不到的情况,特...

BetrayFree的博客 2万+

关于### Error querying database. Cause: org.apache.ibatis.type.TypeException: Could not set parameter

关于### Error querying database. Cause: org.apache.ibatis.type.TypeException: Could not set parameter

m0_61691441的博客 5550

org.apache.ibatis.binding.BindingException错误

方法名是insertGoods)需要与mapper.xml中的一条sql的id<insert id="insertGoods"></insert>一致。org.apache.ibatis.binding.BindingException错误的原因以下几种。直接把名字复制了一遍。

Atuto的博客 2683

mybatis中错误记录(1)

/** * 动态查询 * @param hp_name * @param hp_description * @return */ public List dynamicProject(String hp_name,String hp_description); 错误信息如下:  Exception in thread "main" org.apache.ibatis.excepti

qq_39659895的博客 535

org.apache.ibatis.binding.BindingException报错

org.apache.ibatis.binding.BindingException报错 出现这种情况的原因有以下两种: mapper映射文件的namespace和对应的接口不一致 没有在mybatis的主配置文件(sqlMapConfig.xml)中,配置mapper映射文件的文件路径 org.apache.ibatis.binding.BindingException: Type interface com.user.dao.RoleDAO is not known to the MapperReg

weixin_42164880的博客 831

BindingException异常的产生原因及解决过程详解

首先我们看到,这里抛出的异常是org.apache.ibatis.binding.BindingException,接着再看异常的信息是 Invalid bound statement (not found): com.qf.mapper.EmpMapper.list。通过检查学生的代码发现,这个学员只是在Mapper接口中定义了方法,但是没有在Mapper.xml中编写的sql语句,所以MyBatis找不到sql语句就抛出了上面的异常。现在知道MyBatis的绑定的过程了,我们继续回到上面提到的异常。

威哥爱编程,华为 HDE,鸿蒙极客、CSDN博客专家、《HarmonyOS NEXT 开发之路》系列图书作者 1万+

mybatis 出现org.apache.ibatis.exceptions.PersistenceException: ### Error querying database.异常

我们先来看看出现的异常信息,如下。 org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 2,594

qq_43663493的博客 3883

Polygon3-3.0.9.1-cp310-cp310-win_amd64.whl

Polygon3-3.0.9.1-cp310-cp310-win_amd64.whl

上一篇: 12.MyBatis学习--映射文件_参数处理_单个参数&多个参数&命名参数
下一篇: 14.MyBatis学习--映射文件_参数处理_#与$取值区别
Adela0916
博客等级 码龄8年 12粉丝 89原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值