关于MyBatisPlus框架下出现xml里面定义的方法无法被正确识别以及提示调用mysql存储过程时参数无效的问题

第一个问题:xml里面明明定义了方法A,但是通过IService接口调用A的时候,总提示无法将接口中定义的函数绑定到xml中的同名方法中(“Invalid bound statement (not found): com.aircas.sqlservice.mapper.SysTempIndexMapper.getRemoteStatusReportSerialNumber”),见下图。

在这里插入图片描述
网上很多解决方法都是查看函数名是否一致、命名空间等,但还有一种可能是你调用接口的模块本身的resource文件夹下就有一个含有xml的mapper文件夹,而这个文件夹里面不含有方法A的sql实现,如下图:
关于MyBatisPlus框架下出现xml里面定义的方法无法被正确识别以及提示调用mysql存储过程时参数无效的问题_第1张图片
导致程序只在这个mapper里面找A的sql实现,那肯定会提示没有找到。

第二个问题:其它都是对的,但是程序提示“Parameter number 1 is not an OUT parameter”,如下图:

在这里插入图片描述
除了检查参数名、类型、IN/OUT类型是否和存储过程一致外,还要检查是否指定了这个方法所访问的数据库实例,如果所访问的数据库实例没有这个存储过程,同样会报这个错。这个地方加上这个DS注解,就能够正常调用了。
关于MyBatisPlus框架下出现xml里面定义的方法无法被正确识别以及提示调用mysql存储过程时参数无效的问题_第2张图片

你可能感兴趣的:(xml,mysql,数据库,mybatisplus)