我一直致力于将 XML 字符串作为输入参数发送到 SQL Server 存储过程,该过程通过 Java 中的 MyBatis 映射接口调用。我的映射定义如下:
@Update(value = "{ call prcFoo(" +
"#{ stringValue, jdbcType=VARCHAR, mode=IN }," +
"#{ xmlValue, jdbcType=CLOB, mode=IN } ) }")
@Options(statementType = StatementType.CALLABLE)
Integer sendXML(@Param("stringValue") String stringValue,
@Param("xmlValue") String xmlValue);
映射返回一个整数值,而不是结果集。当我使用此映射进行调用时,我得到了过程错误条件(负整数)。读取 XML 似乎有问题,因为当我使用相同的 XML 字符串直接在数据库上调用该过程时,它会返回预期值。我是在错误地使用 MyBatis,还是有其他问题?