报错org.springframework.dao.TransientDataAccessResourceException: ### Error querying database. Cause: java.sql.SQLException: Parameter number 2 is not an OUT parameter ### The error may exist in file [F:\项目总和目录\main\2023-1-10 OA系统\开发阶段\backEnd\OA\OA-server\target\classes\mapper\StaffMapper.xml] ### The error may involve com.oa.mapper.StaffMapper.generateEmployeeNumber ### The error occurred while executing a query ### SQL: {call generate_employee_number( ?, ? )} ### Cause: java.sql.SQLException: Parameter number 2 is not an OUT parameter
问题分析:
- 十有八九存储过程创建错库了
SELECT DATABASE(); -- 判断当前正在操作的数据库
SHOW CREATE PROCEDURE 存储过程名; -- 判断是否存在
-
如果使用的是mybatis-plus3,那么存储过程调用可能会有所不同 参考案例[https://blog.csdn.net/m0_74021233/article/details/137060142]
-
查看了一些博客,有的说权限不足,在连接数据库url那里加上 &characterEncoding=UTF-8
博主博客地址:Parameter number 2 is not an OUT parameter 问题的解决方法-CSDN博客】