0

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

4

1 回答 1

0

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

http://technet.microsoft.com/en-US/library/ms189887(v=sql.90).aspx

于 2013-08-27T20:49:15.633 回答