org.apache.ibatis.binding.BindingException: Mapper method 'com.zbiti.alarm.dao.AlarmDao.queryTest at

Mybatis异常

首先对这个异常信息进行蒋式翻译
接口AlarmDao中queryTest方法企图返回null,但是queryTest 方法定义的返回值为int

–很显眼null 转成 int 是会报错的。

bug重现场景(因为代码太简单,所以就不贴代码了):
使用Mybatis查询一个数值字段时,我们会使用int long 等简单类型作为resultType,如果我们这个sql没有查询出记录,也就是sql查询出的结果为null,那么这时候就会报错!!!

接口定义:

public int queryTest();

mapper定义 (staff_id = 33 不存在时):

<select id="queryTest"  resultType="int">
        SELECT staff_id FROM pub_staff p WHERE p.staff_id = 33
</select>

解决方法:

1、把接口和mapper中返回值改成 Integer
2、使用万能的String作为返回值
(注意:接口使用需要对接口返回结课进行判断,否则会出现空NPE)

不知道大家有没有更好的思路?

Mybatisplus的org.apache.ibatis.binding.BindingException是一种常见的异常,表示绑定语句无效(未找到)。这个异常通常发生在使用mybatismybatis-plus作为持久化框架时,通过dao层接口调用xml中配置好的sql时。 出现这个异常的原因可能有几种: 1. SQL语句没有正确配置或命名错误,导致无法找到对应的绑定语句。 2. Dao层接口没有正确绑定或命名错误,导致无法找到对应的绑定语句。 解决这个异常的方法有以下几种: 1. 检查SQL语句的配置和命名是否正确,并确保与Dao层接口的绑定一致。 2. 检查Dao层接口的绑定和命名是否正确,并确保与SQL语句的配置一致。 3. 确保XML配置文件中正确引入了Mapper接口,并且Mapper接口中的方法与XML文件中的配置一致。 4. 如果使用了mybatis-plus,可以尝试使用其提供的CRUD代码生成器来生成Dao层接口和XML文件,可以减少手动配置错误的可能性。 5. 检查依赖的版本是否兼容,有时不同的版本之间可能存在一些兼容性问题。 通过以上方法,可以解决Mybatisplus的org.apache.ibatis.binding.BindingException异常。请根据具体情况选择合适的方法进行调试和修复。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [mybatis-plus异常记录:org.apache.ibatis.binding.BindingException Invalid bound statement](https://blog.csdn.net/w1014074794/article/details/125725011)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [springboot 集成 mybatis-plus报错解决:org.apache.ibatis.binding.BindingException: Invalid bound ...](https://blog.csdn.net/big_bigwolf/article/details/120752264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值