我一直在努力将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,还是其他错误?
答案 0 :(得分:0)
您是否尝试过使用XML数据类型而不是字符串
http://technet.microsoft.com/en-US/library/ms189887(v=sql.90).aspx