mybatis中调用oracle的函数或者存储过程

先看下图
image

关于statementType 的三种可选值

JDBC 对应类 使用场景 性能特点
STATEMENT java.sql.Statement 简单静态 SQL ❌ 最低效
PREPARED java.sql.PreparedStatement 默认值,动态 SQL ✅ 高效安全
CALLABLE java.sql.CallableStatement 存储过程/函数调用 ✅ 特定场景最优

想要调用函数或者存储过程,statementType必须设置为"CALLABLE"!!!
不然MyBatis 会尝试用 PreparedStatement 执行,那么就会导致输出参数无法正确获取以及数据库可能抛出执行错误

具体执行流程看下图
image

注意事项:
输出参数必须指定 jdbcType

posted on 2025-07-22 18:46  jaba  阅读(42)  评论(0)    收藏  举报

导航