mybatis调用Oracle存储过程(保姆级别给出无参、入参、出参调用等详细例子)
1. Oracle存储过程基础知识与调用
- 对存储过程不是很了解的,关于plsql里如何调用存储过程的,可以参考下面文章即可
Oracle自定义函数、Oracle存储过程多种用法讲解以及动态创建表的存储过程.
2. 使用mybatis调用存储过程
2.1 无参的存储过程
2.1.1 准备操作(存储过程等)
- 创建无参存储过程
sp_insert_stu_test
逻辑:往 stu_test 表里插入3条数据create or replace procedure sp_insert_stu_test as begin for i in 1 .. 3 loop insert into stu_test(stu_id,stu_name) values('20211012-'||i,'优秀生'||i); commit; end loop; end;
2.1.2 Java代码调用
2.1.2.1 注解方式执行sql
- 因为特别简单,不写service层了,也直接截图了,后面必要代码统一给
- ProcProvider.java(调用存储过程sql)
- ProcMapper.java
- ProcController.java
- ProcProvider.java(调用存储过程sql)
2.1.2.2 xml方式执行sql
- ProcMapper.xml
- ProcMapper.java
- ProcController.java
2.1.3 测试看效果
- 先查一下表里的数据
- 测试第一个接口
- 接口文档测试
- 然后看效果
- 接口文档测试
- 测第二个接口(xml)
- 接口文档测试:
- 看效果(带上一个测试接口的数据):
- 接口文档测试:
2.1.4 附代码
- controller
package com.liu.susu.message.controller; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.liu.susu.message.mapper.ProcMapper; import io.swagger.annotations.Api; import io