用Mybatis向存储过程传递布尔参数。

我试图在Spring项目中使用Mybatis调用Oracle PLSQL过程。然而,我得到以下错误。Caused by: java.sql.SQLException.ORA-06553: PLS-306: wrong number or types of arguments in call to Spring project: ORA-06553: PLS-306: 错误的参数数量或类型在调用到

问题出在布尔参数上,因为当我删除它时,它工作得很好。(process_now参数在存储过程中是可选的)当我用SQL Developer调用存储过程时,存储过程运行良好。

 <select id="processUser" statementType="CALLABLE" parameterType="UserResult">
 CALL myprocedure(
            user_id => #{userId, jdbcType=NUMERIC, mode=IN},
            description => #{description, jdbcType=VARCHAR, mode=IN},
            process_now => #{processNow, jdbcType=BOOLEAN, mode=IN},
            response => #{response, jdbcType=NUMERIC, mode=OUT}
        )

问题出在哪里?

解决方案:

我通过创建新的自定义包装过程并在其中声明布尔变量来解决这个问题,然后我将这些声明的变量传递给了java.sql.SQLException: ORA-06553: PLS-306: 错误的参数数量或类型。然后我将这些声明的变量传递给我的原始过程。这就解决了我的问题。

这里是页面的链接。(阅读’Wrapping PLSQL BOOLEAN, RECORD, and TABLE Types’部分)https:/docs.oracle.comcdF49540_01DOCjava.815a64684typesup1.htm。

给TA打赏
共{{data.count}}人
人已打赏
未分类

java -version显示较早的版本,但已经安装了java 11。

2022-9-8 0:55:20

未分类

如何将该滑块中的小点替换成幻灯片索引号,且格式相同?[已关闭]

2022-9-8 1:06:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索