mybatis 注解调用Oracle存储过程

50 篇文章 0 订阅
4 篇文章 0 订阅

看别人的博客试了半天注解调用一直报错,然后试了试xml里面写,成功了

就根据xml里面写的改成注解也是成功了

service层调用

    public List<QualityTestLogResp> logList(String logicId, String startTime, String endTime) {
        Map<String, Object> resps = new HashMap<>();
        resps.put("loginId", logicId);
        resps.put("startTime", startTime);
        resps.put("endTime", endTime);
        tbGxjhSjzjMapper.getLogList(resps);
        return Convert.toList(QualityTestLogResp.class, resps.get("list"));
    }

mapper

@Select("{call Pack_checkSpgl.PROC_QUERYCHECKTOTAL( " +
            " #{map.logicId, jdbcType=VARCHAR, mode=IN}, " +
            " #{map.startTime, jdbcType=VARCHAR, mode=IN}, " +
            " #{map.endTime, jdbcType=VARCHAR, mode=IN}, " +
            " #{map.list, jdbcType=CURSOR, mode=OUT, resultMap=resMap} " +
            ")}")
    @Options(statementType = StatementType.CALLABLE)
    @Results(
            id = "resMap",
            value = {
                    @Result(column = "xh", property = "xh"),
                    @Result(column = "logicid", property = "logicid"),
                    @Result(column = "zjgz", property = "zjgz"),
                    @Result(column = "zjjls", property = "zjjls"),
                    @Result(column = "hgjls", property = "hgjls"),
                    @Result(column = "bhgjls", property = "bhgjls"),
            }
    )
    List<QualityTestLogResp> getLogList(@Param("map") Map<String, Object> map);

这里需要注意的是,没有用到返回值,实际上的结果在map里面,像我上面第四个参数那样定义的,键就是list。return的List里面是空的,不会有结果集,但是也得用这个返回值,写void或者object都不行

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿演

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

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

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

打赏作者

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

抵扣说明:

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

余额充值