mybatis调用Oracle存储过程(给出无参、入参、出参调用等详细例子)——真的的保姆级别

本文详细介绍了如何使用MyBatis调用Oracle存储过程,包括无参数、仅有入参、仅有出参、入参和出参的情况,并给出了注解和XML方式的示例代码,还包括有结果集的存储过程调用。文章适合对Oracle存储过程和MyBatis不太熟悉的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 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层了,也直接截图了,后面必要代码统一给
    1. ProcProvider.java(调用存储过程sql)
      在这里插入图片描述
    2. ProcMapper.java
      在这里插入图片描述
    3. ProcController.java
      在这里插入图片描述
2.1.2.2 xml方式执行sql
  1. ProcMapper.xml
    在这里插入图片描述
  2. ProcMapper.java
    在这里插入图片描述
  3. ProcController.java
    在这里插入图片描述
    在这里插入图片描述

2.1.3 测试看效果

  • 先查一下表里的数据
    在这里插入图片描述
  1. 测试第一个接口
    • 接口文档测试
      在这里插入图片描述
      在这里插入图片描述
    • 然后看效果
      在这里插入图片描述
  2. 测第二个接口(xml)
    • 接口文档测试:
      在这里插入图片描述
      在这里插入图片描述
    • 看效果(带上一个测试接口的数据):
      在这里插入图片描述

2.1.4 附代码

  1. 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.swagger.annotations.ApiOperation;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * description
     * @author susu
     **/
    @Slf4j
    @RestController
    @RequestMapping("/proc/")
    @Api(tags = "存储过程")
    @ApiSupport(author = "披荆斩棘",order = 3)
    public class ProcController {
         
    
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@素素~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值