mybatis 注解调用Oracle存储过程

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

看别人的博客试了半天注解调用一直报错,然后试了试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都不行


相关文章
|
2月前
|
SQL XML Java
Mybatis基础使用知识(注解)
mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句。 最后 mybatis 框架执行sql 并将结果映射为java对象并返回。采用ORM(对象关系映射)思想解决了实体和数据库映射问题,对jdbc进行了封装,屏蔽了jdbc api 底层访问细节,使我们不用与jdbc api 打交道,就可以完成对数据库的持久化操作。
353 0
|
5月前
|
SQL XML Java
MyBatis注解的运用于条件搜索实践
通过上述的实践,我们可以看出MyBatis注解不仅能够实现条件搜索的需求,还能够提供灵活而强大的SQL构造能力,极大地简化了代码的复杂度,提高了开发效率。在实际的项目开发中,结合实际的业务需求合理选择MyBatis的配置方式(注解或XML),能够让数据持久层代码变得更加清晰和易维护。
113 11
|
6月前
|
存储 Oracle 关系型数据库
Oracle存储过程插入临时表优化与慢查询解决方法
优化是一个循序渐进的过程,就像雕刻一座雕像,需要不断地打磨和细化。所以,耐心一点,一步步试验这些方法,最终你将看到那个让你的临时表插入操作如同行云流水、快如闪电的美丽时刻。
294 14
|
7月前
|
存储 Java 数据库连接
Mybatisplus中的主要使用注解
3.有些注解需要配合其他配置使用。例如,@Version需要配合乐观锁插件使用,@EnumValue需要配合对应的TypeHandler使用。
327 11
|
8月前
|
SQL XML Java
MyBatis——选择混合模式还是全注解模式?
在MyBatis开发中,Mapper接口的实现方式有两种:全注解模式和混合模式。全注解模式直接将SQL嵌入代码,适合小规模、简单逻辑项目,优点是直观简洁,但复杂查询时代码臃肿、扩展性差。混合模式采用接口+XML配置分离的方式,适合大规模、复杂查询场景,具备更高灵活性与可维护性,但学习成本较高且调试不便。根据项目需求与团队协作情况选择合适模式至关重要。
155 4
|
9月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
706 0
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
1855 5
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
SQL 缓存 Java
MyBatis如何关闭一级缓存(分注解和xml两种方式)
MyBatis如何关闭一级缓存(分注解和xml两种方式)
477 5
|
Java 数据库连接 mybatis
Mybatis使用注解方式实现批量更新、批量新增
Mybatis使用注解方式实现批量更新、批量新增
303 3
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
文章介绍了MyBatis的简单增删改查操作,包括创建数据表、实体类、配置文件、Mapper接口及其XML文件,并解释了`#{}`预编译参数和`@Param`注解的使用。同时,还涵盖了resultType与resultMap的区别,并提供了完整的代码实例和测试用例。
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数

推荐镜像

更多