Java 如何通过MyBatis将XML字符串作为输入参数映射到存储过程?

Java 如何通过MyBatis将XML字符串作为输入参数映射到存储过程?,java,sql-server,xml,stored-procedures,mybatis,Java,Sql Server,Xml,Stored Procedures,Mybatis,我一直致力于将XML字符串作为输入参数发送到SQL Server存储过程,该存储过程通过Java中的MyBatis映射接口调用。我的映射定义如下: @Update(value = "{ call prcFoo(" + "#{ stringValue, jdbcType=VARCHAR, mode=IN }," + "#{ xmlValue, jdbcType=CLOB, mode=IN } ) }") @Options(state

我一直致力于将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,还是有其他问题?

您是否尝试过使用XML数据类型而不是字符串