JUnit测试中MyBatis的问题

时间:2019-03-25 15:24:52

标签: junit4 spring-mybatis

在使用myBatis Mapper.xml在JUnit Test中调用pl sql过程时,我得到了

12:15:25.015 [main]错误MyClass-org.springframework.jdbc.UncategorizedSQLException:

查询数据库时出错。原因:java.sql.SQLException:ORA-20210:MyPackage.MyProcedure。 ExceptionDocumentProblem:MyError。

ORA-06512:在Zeile 1689的“ MySchema.MyPackage”中

ORA-06512:在Zeile 1705的“ MySchema.MyPackage”中

ORA-06512:在Zeile 1中

该错误可能存在于de /…/ MyMapper.xml

该错误可能涉及defaultParameterMap

设置参数时发生错误

SQL:{? =调用MySchema.myFunction(pContentText =>?)}

原因:java.sql.SQLException:ORA-20210:MySchema.myFunction。 ExceptionDocumentProblem:MyError。

ORA-06512:在Zeile 1689的“ MySchema.MyPackage”中

ORA-06512:在Zeile 1705的“ MySchema.MyPackage”中

ORA-06512:在Zeile 1中

奇怪的是,在生产中它运行良好。我检查了生产junit的参数之间是否没有差异,该junit调用了Mapper.xml中的Java方法。

我使用ojdbc.jar。 JUnit的配置如下:

     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >

        <property name="driverClassName" value="oracle.jdbc.OracleDriver"/>

        <property name="url" value="jdbc:oracle:thin:@host:port/DB"/>


        <property name="username" value="myUser"/>

        <property name="password" value="*****"/>

    </bean>

被调用的映射器如下:

    <select id="theId" statementType="CALLABLE">
        {
        #{resultMap.documentId, mode=OUT, javaType=java.lang.Long,
        jdbcType=NUMERIC} = call
        MyPackage.MyProcedure(pContentText
        => #{doc, mode=IN,
        jdbcType=CLOB,
        typeHandler=org.apache.ibatis.type.ClobTypeHandler})
        }
    </select>

感谢您的帮助

0 个答案:

没有答案