在使用myBatis Mapper.xml在JUnit Test中调用pl sql过程时,我得到了
12:15:25.015 [main]错误MyClass-org.springframework.jdbc.UncategorizedSQLException:
ORA-06512:在Zeile 1689的“ MySchema.MyPackage”中
ORA-06512:在Zeile 1705的“ MySchema.MyPackage”中
ORA-06512:在Zeile 1中
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>
感谢您的帮助