Java 如何使用mybatis(基于注释)调用oracle存储过程

Java 如何使用mybatis(基于注释)调用oracle存储过程,java,oracle,stored-procedures,mybatis,Java,Oracle,Stored Procedures,Mybatis,我需要使用mybatis调用java中的oracle存储过程 存储过程: create or replace PROCEDURE P_GET_ACCOUNT (INVAR_ACCOUNT IN DATE , OUTVAR_CONFIG OUT SYS_REFCURSOR) AS begin OPEN OUTVAR_CONFIG FOR SELECT * from accounts;

我需要使用mybatis调用java中的oracle存储过程

存储过程:

create or replace PROCEDURE P_GET_ACCOUNT (INVAR_ACCOUNT IN DATE 
                                         , OUTVAR_CONFIG OUT SYS_REFCURSOR) AS begin
     OPEN OUTVAR_CONFIG FOR
          SELECT * from accounts; END P_GET_ACCOUNT;
为了调用这个存储过程,我调用了映射程序

AccountImplMapper.java

@Select("{CALL P_GET_ACCOUNT(#{account, mode=IN, jdbcType=VARCHAR}," +
                                     "#{result, mode=OUT, jdbcType=CURSOR})}")
@Options(statementType = StatementType.CALLABLE)
AccountImpl selectAccount(@Param("account") String account,@Param("result") Object result);
AccountImplMapper方法在DatabaseImpl中调用

DatabaseImpl.java:

AccountImpl = new AccountImpl();
accountImpl =  accountImplMapper.selectAccount("mark",accountImpl);

其中AccountImpl是我的数据库表帐户的模型类。当我运行此操作时,我无法从数据库中获取值。请帮助我解决此问题。

我的数据库是sql server,但我认为这与您的问题相同

若要调用存储过程,应键入参数,如
选择帐户(映射映射)
。我用这种方法解决我的问题